diff --git a/.github/scripts/update_locale.sh b/.github/scripts/update_locale.sh index c9788b868..979ac10f3 100755 --- a/.github/scripts/update_locale.sh +++ b/.github/scripts/update_locale.sh @@ -1,7 +1,7 @@ #!/bin/bash # /*PGR-GNU***************************************************************** # File: update_locale.sh -# Copyright (c) 2021 pgRouting developers +# Copyright (c) 2024-2026 pgRouting developers # Mail: project@pgrouting.org # ------ # This program is free software; you can redistribute it and/or modify diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index d257aa073..33c5cde3d 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -35,7 +35,8 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y osm2pgrouting \ + sudo apt-get install -y build-essential cmake libpq-dev libpqxx-dev libexpat1-dev \ + libboost-program-options-dev \ postgresql-${PGVER}-postgis-${PGIS} \ postgresql-${PGVER}-postgis-${PGIS}-scripts \ postgresql-${PGVER}-pgrouting @@ -44,6 +45,16 @@ jobs: pip install -r REQUIREMENTS.txt pip list + - name: Build osm2pgrouting from source + run: | + wget -q https://github.com/pgRouting/osm2pgrouting/archive/refs/tags/v3.0.0.tar.gz + tar xzf v3.0.0.tar.gz + python3 -c "import re; c=open('osm2pgrouting-3.0.0/CMakeLists.txt').read(); c=c.replace('if (PQXX_VERSION VERSION_GREATER_EQUAL \"7.0.0\")','if (PQXX_VERSION VERSION_GREATER_EQUAL \"8.0.0\")'); c=c.replace(' set(CMAKE_CXX_STANDARD 17)',' set(CMAKE_CXX_STANDARD 20)\nelseif (PQXX_VERSION VERSION_GREATER_EQUAL \"7.0.0\")\n set(CMAKE_CXX_STANDARD 17)',1); open('osm2pgrouting-3.0.0/CMakeLists.txt','w').write(c)" + cmake -S osm2pgrouting-3.0.0 -B osm2pgrouting-3.0.0/build \ + -DCMAKE_BUILD_TYPE=Release + sudo cmake --build osm2pgrouting-3.0.0/build --target install + sudo ldconfig + - name: Configure run: | sudo service postgresql start diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 20dc387ff..ab6e490ea 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -51,7 +51,8 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y osm2pgrouting \ + sudo apt-get install -y build-essential cmake libpq-dev libpqxx-dev libexpat1-dev \ + libboost-program-options-dev \ postgresql-${PGVER}-postgis-${PGIS} \ postgresql-${PGVER}-postgis-${PGIS}-scripts \ postgresql-${PGVER}-pgrouting @@ -60,6 +61,16 @@ jobs: pip install -r REQUIREMENTS.txt pip list + - name: Build osm2pgrouting from source + run: | + wget -q https://github.com/pgRouting/osm2pgrouting/archive/refs/tags/v3.0.0.tar.gz + tar xzf v3.0.0.tar.gz + python3 -c "import re; c=open('osm2pgrouting-3.0.0/CMakeLists.txt').read(); c=c.replace('if (PQXX_VERSION VERSION_GREATER_EQUAL \"7.0.0\")','if (PQXX_VERSION VERSION_GREATER_EQUAL \"8.0.0\")'); c=c.replace(' set(CMAKE_CXX_STANDARD 17)',' set(CMAKE_CXX_STANDARD 20)\nelseif (PQXX_VERSION VERSION_GREATER_EQUAL \"7.0.0\")\n set(CMAKE_CXX_STANDARD 17)',1); open('osm2pgrouting-3.0.0/CMakeLists.txt','w').write(c)" + cmake -S osm2pgrouting-3.0.0 -B osm2pgrouting-3.0.0/build \ + -DCMAKE_BUILD_TYPE=Release + sudo cmake --build osm2pgrouting-3.0.0/build --target install + sudo ldconfig + - name: Configure run: | service postgresql status @@ -95,7 +106,7 @@ jobs: if [[ "${{ env.BRANCH }}" == "develop" ]]; then FOLDER_NAME="dev" elif [[ "${{ env.BRANCH }}" == "main" ]]; then - FOLDER_NAME="3.1" + FOLDER_NAME="3.2" fi git checkout -f origin/gh-pages git checkout -b gh-pages diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ad1b3ea3..d6254e053 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,13 +16,13 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") #--------------------------------------------- # Setting the version number #--------------------------------------------- -set(PGR_WORKSHOP_CITY "Auckland") +set(PGR_WORKSHOP_CITY "Hiroshima") set(WORKSHOP_AREA "FOSS4G ${PGR_WORKSHOP_CITY}") set(COPYRIGHT "2010-2025 pgRouting Developers") set(PGR_WORKSHOP_VERSION_MAJOR "3") -set(PGR_WORKSHOP_VERSION_MINOR "1") +set(PGR_WORKSHOP_VERSION_MINOR "2") set(PGR_WORKSHOP_VERSION_PATCH "0") -set(PGR_WORKSHOP_VERSION_DEV "-dev") +set(PGR_WORKSHOP_VERSION_DEV "") set(PGR_WORKSHOP_VERSION "${PGR_WORKSHOP_VERSION_MAJOR}.${PGR_WORKSHOP_VERSION_MINOR}") set(PGR_WORKSHOP_RELEASE "${PGR_WORKSHOP_VERSION_MAJOR}.${PGR_WORKSHOP_VERSION_MINOR}.${PGR_WORKSHOP_VERSION_PATCH}${PGR_WORKSHOP_VERSION_DEV}") set(PGR_WORKSHOP_NAME "pgRouting workshop") @@ -45,35 +45,42 @@ option(PGR_WORKSHOP_VERBOSE_DEBUG #--------------------------------------------- # CONFIGURATION #--------------------------------------------- -set(PGR_WORKSHOP_CITY_FILE "AUCKLAND_NZ") +set(PGR_WORKSHOP_CITY_FILE "HIROSHIMA_JP") # https://github.com/OSGeo/OSGeoLive/blob/master/bin/install_osm.sh # around line 117 -set(PGR_WORKSHOP_CITY_BBOX "-36.8798,174.8,-36.8344,174.72") +# For Hiroshima this is the BBOX as OsgeoLive does not have one yet +# BBOX="132.439,34.33,132.4782,34.412" + +set(PGR_WORKSHOP_CITY_BBOX "132.439,34.33,132.4782,34.412") + +# TODO Calculate the centroid and use +set(OSM_BBOX_CENTROID "-36.8520950/174.7631803") # Make it smaller -set(PGR_WORKSHOP_LITTLE_NET_BBOX "174.775,-36.855,174.76,-36.84") +set(PGR_WORKSHOP_LITTLE_NET_BBOX "132.439,34.38, 132.46,34.40") -# Use git blame to get the date when the line was changed -set(PGR_WORKSHOP_DOWNLOAD_DIR "workshop-2025") -set(DATE_OF_DATA "Jun 2025") +# Use git blame (on install_osm.sh) to get the date when the line was changed +# The file I set up is from June +set(PGR_WORKSHOP_DOWNLOAD_DIR "workshop-2026") +set(DATE_OF_DATA "Jun 2026") if (WORKSHOP_DEBUG) message(STATUS "WORKSHOP_CITY_FILE=${WORKSHOP_CITY_FILE}") endif() -set(OSMID_1 "9451619540") -set(OSMID_2 "60662678") -set(OSMID_3 "11045827672") -set(OSMID_4 "9452115611") -set(OSMID_5 "11045833969") +set(OSMID_1 "1395938201") +set(OSMID_2 "1221117996") +set(OSMID_3 "1370740519") +set(OSMID_4 "560635941") +set(OSMID_5 "344096830") # 3->1: routes for vehicles with penalty & no penalty must be different -set(PLACE_1 "Auckland University of Technology") -set(PLACE_2 "The Band Rotunda") -set(PLACE_3 "Four Points by Sheraton") -set(PLACE_4 "Sky tower") -set(PLACE_5 "Emily Place Reserve") +set(PLACE_1 "International Conference Center Hiroshima") +set(PLACE_2 "Hiroshima Gate park") +set(PLACE_3 "Aster Plaza") +set(PLACE_4 "Grand Prince Hotel Hiroshima") +set(PLACE_5 "RCC Bunka Center") set(CH7_PLACE_1 ${PLACE_5}) @@ -91,7 +98,7 @@ set(POINT2_LON "174.764448") # minimum versions #--------------------------------------------- set(SPHINX_MINIMUM_VERSION "4.0.0") -set(Osm2pgrouting_FIND_VERSION "2.3") +set(Osm2pgrouting_FIND_VERSION "3.0.0") #--------------------------------------------- diff --git a/docs/advanced/chapter-12.rst b/docs/advanced/chapter-12.rst index cb181f34c..4a963a241 100644 --- a/docs/advanced/chapter-12.rst +++ b/docs/advanced/chapter-12.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2016-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Create a Network Topology =============================================================================== diff --git a/docs/appendix/CMakeLists.txt b/docs/appendix/CMakeLists.txt index 1fc24d1df..9adb6a64e 100644 --- a/docs/appendix/CMakeLists.txt +++ b/docs/appendix/CMakeLists.txt @@ -5,6 +5,7 @@ add_custom_target(appendix ALL) # Files #--------------------- set(PGR_WORKSHOP_FILES + osgeolive.rst appendix-2.rst appendix-3.rst appendix-4.rst diff --git a/docs/appendix/appendix-2.rst b/docs/appendix/appendix-2.rst index 03a7c135d..07ffd500c 100644 --- a/docs/appendix/appendix-2.rst +++ b/docs/appendix/appendix-2.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Appendix: Installation =============================================================================== diff --git a/docs/appendix/appendix-3.rst b/docs/appendix/appendix-3.rst index dd7525fe4..5e20c7d4d 100644 --- a/docs/appendix/appendix-3.rst +++ b/docs/appendix/appendix-3.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 .. _osm2pgrouting: diff --git a/docs/appendix/appendix-4.rst b/docs/appendix/appendix-4.rst index a6d816133..d1978ab19 100644 --- a/docs/appendix/appendix-4.rst +++ b/docs/appendix/appendix-4.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2019-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Video Tutorials for Workshop ############################################################################### diff --git a/docs/general-intro/osgeolive.rst b/docs/appendix/osgeolive.rst similarity index 93% rename from docs/general-intro/osgeolive.rst rename to docs/appendix/osgeolive.rst index 0f3822c9f..85a0d02c3 100644 --- a/docs/general-intro/osgeolive.rst +++ b/docs/appendix/osgeolive.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 OSGeoLive Installation =============================================================================== diff --git a/docs/basic/data.rst b/docs/basic/data.rst index 6d63d9d12..8594fe6a0 100644 --- a/docs/basic/data.rst +++ b/docs/basic/data.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2016-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Prepare Data @@ -32,54 +27,55 @@ installed, open a terminal window by pressing :code:`ctrl-alt-t` and follow the instructions. Information about installing OSGeoLive can be found on -:doc:`../general-intro/osgeolive`. - -.. note:: If OSGeoLive is not being used, please refer to the chapter's appendix - to set up the user ``user``. +:doc:`../appendix/osgeolive`. Create a pgRouting compatible database ------------------------------------------------------------------------------- -.. note:: Depending on the Postgres configuration :code:`-U ` is needed on - :code:`psql` commands +Create ``city_routing`` database that will be used on the workshop. .. literalinclude:: ../scripts/get_data/process_osgeolive_data.sh - :start-after: 4.1.1 from-here - :end-before: 4.1.1 to-here + :start-after: create city_routing + :end-before: connect city_routing :language: bash -.. Note:: To exit the database use ``\q`` - -Get the Workshop Data -=============================================================================== +Connect to the database -.. TODO get date +.. code-block:: bash -The pgRouting workshop will make use of OpenStreetMap data, which is already -available on `OSGeoLive `_. This workshop will use the -``@PGR_WORKSHOP_CITY@`` city data and is a snapshot of @DATE_OF_DATA@. + psql city_routing -Getting the data -------------------------------------------------------------------------------- +Install pgRouting and its requirements. (otpionally check the version that is +being used) -Option 1) When using OSGeoLive -............................................................................... +.. literalinclude:: ../scripts/get_data/process_osgeolive_data.sh + :start-after: << EOF + :end-before: EOF + :language: bash -OSGeoLive comes with OSM data from the city of @PGR_WORKSHOP_CITY@. +Exit the database .. code-block:: bash - CITY="@PGR_WORKSHOP_CITY_FILE@" - bzcat ~/data/osm/$CITY.osm.bz2 > $CITY.osm + \q + +Get the Workshop Data +=============================================================================== + +This workshop will use the ``@PGR_WORKSHOP_CITY@`` city data and is a snapshot +of @DATE_OF_DATA@. -Option 2) Download data form OSGeoLive website +Get the data +------------------------------------------------------------------------------- + +Download data form pgRouting download ............................................................................... The exact same data can be found on the OSGeoLive download page. .. literalinclude:: ../scripts/get_data/get_all_data.sh - :start-after: 4.2.2 from-here - :end-before: 4.2.2 to-here + :start-after: city from-here + :end-before: city to-here :language: bash Option 3) Download using Overpass XAPI @@ -95,13 +91,12 @@ due to changes since @DATE_OF_DATA@. BBOX="@PGR_WORKSHOP_CITY_BBOX@" wget --progress=dot:mega -O "$CITY.osm" "http://www.overpass-api.de/api/xapi?*[bbox=\$\{BBOX\}][@meta]" -More information about how to download OpenStreetMap data can be found +More information about how to download OpenStreetMap data can be found `here `_. An alternative for very large areas is to use the download services of `Geofabrik `_. - Upload data to the database ============================================================================== @@ -121,62 +116,27 @@ Run the osm2pgrouting converter ------------------------------------------------------------------------------- .. literalinclude:: ../scripts/get_data/process_osgeolive_data.sh - :start-after: 4.3.1 from-here - :end-before: 4.3.1 to-here + :start-after: import city from-here + :end-before: import city to-here :language: bash .. note:: Depending on the osm2pgrouting version `-W password` is needed -.. rubric:: Output: - -.. literalinclude:: ../scripts/get_data/process_osgeolive_data.txt - :start-after: 4.3.1 from-here - :end-before: 4.3.1 to-here - -.. rubric: Clean up - -.. literalinclude:: ../scripts/get_data/process_osgeolive_data.sh - :start-after: remove_faulty_ways_start - :end-before: remove_faulty_ways_end - -.. literalinclude:: ../scripts/get_data/process_osgeolive_data.txt - :start-after: remove_faulty_ways_start - :end-before: remove_faulty_ways_end +.. collapse:: Output: + .. literalinclude:: ../scripts/get_data/process_osgeolive_data.txt + :start-after: import city from-here + :end-before: import city to-here Tables on the database ------------------------------------------------------------------------------- -.. literalinclude:: ../scripts/basic/data/data.sh - :start-after: 4.3.2 from-here - :end-before: 4.3.2 to-here - -If everything went well the result should look like this: - -.. literalinclude:: ../scripts/basic/data/data.txt - - -Chapter: Appendix -=============================================================================== - - -OSGeoLive's account name on the database is ``user``. To easily use the workshop when not using -OSGeoLive this extra steps are needed: - -.. code-block:: bash +To inspect the tables that were created during this process: - # work on the home folder - cd - - # login to postgres - psql -U postgres - - -- Create "user" - CREATE ROLE "user" SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN PASSWORD 'user'; - - -- exit psql - \q +.. literalinclude:: ../scripts/basic/data/data.sh + :start-after: city tables from-here + :end-before: city tables to-here - # Add the user to .pgpass - echo :5432:*:user:user >> .pgpass +.. collapse:: Output: + .. literalinclude:: ../scripts/basic/data/data.txt diff --git a/docs/basic/graphs.rst b/docs/basic/graphs.rst index 70d81801a..7f8ddfd88 100644 --- a/docs/basic/graphs.rst +++ b/docs/basic/graphs.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2024-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Graphs @@ -30,8 +25,8 @@ The graph requirements =============================================================================== This chapter requires the creation of three distinct routing graphs derived from -``ways``. These consist of two vehicle-specific graphs and one pedestrian -graph, all of which utilize the standard ``source`` and ``target`` to determine +``ways``. These consist of two vehicle-specific graphs and one pedestrian +graph, all of which utilize the standard ``source`` and ``target`` to determine routing paths. The description of the graphs: @@ -58,7 +53,7 @@ The description of the graphs: - Walk on the whole @PGR_WORKSHOP_CITY@ area. - Can only use pedestrian-only ways: - - `pedestrian`, `steps`, `footway`, `path`, `cycleway` + - `pedestrian`, `steps`, `footway`, `path`, `cycleway`, `residential` - The walking speed is ``2 mts/sec``. @@ -75,8 +70,6 @@ improve results. | -Penalizing or removal of pedestrian ways will make the results closer to reality. - When converting data from OSM format using the `osm2pgrouting` tool, there is an additional table: ``configuration``. @@ -90,12 +83,6 @@ additional table: ``configuration``. .. literalinclude:: ../scripts/basic/graphs/configuration_structure.txt -.. image:: images/graphs/roads_tag_ids.png - :scale: 25% - :alt: tag_id values - -| - In the image above, there is a detail of the ``tag_id`` of the roads. .. rubric:: The `OSM highway `__ @@ -227,62 +214,42 @@ Count the number of rows that need to be filled up. .. literalinclude:: ../scripts/basic/graphs/fill_columns_2.txt -Do not expect this count to be the same as the total number of rows in the vertices table, because some nodes are dead ends: some vertices will only be sources and others only targets, so not all rows can be updated. - -.. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :start-after: fill_columns_3.txt - :end-before: fill_columns_4.txt - -.. collapse:: Numbers of records that need update +.. collapse:: Number of rows with empty geometry should be 0 .. literalinclude:: ../scripts/basic/graphs/fill_columns_3.txt -.. rubric:: Continue update the ``geom`` and ``osm_id`` columns - -* The update based on the ``target`` column from ``ways`` table and the ``id`` - column of the vertices table. -* To update ``geom`` column, use the end point of the geometry on the ``ways`` - table. -* Use the ``target_osm`` value to fill up ``osm_id`` column. - -.. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :start-after: fill_columns_4.txt - :end-before: fill_columns_5.txt +Exercise 3: Use QGIS to view the work +------------------------------------------------------------------------------- -.. rubric:: Verification +QGIS is a powerfull tool -.. collapse:: Number of updated records +If you are using OSGeoLive, then you can find QGIS here: - .. literalinclude:: ../scripts/basic/graphs/fill_columns_4.txt +.. image:: images/graphs/qgis_menu.png + :scale: 25% -Expecting to be done, that is the geometry column should not have a ``NULL`` -value. +| -.. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :start-after: fill_columns_5.txt - :end-before: fill_columns_6.txt +Open it and add the Postgres credentials to access city_routing -.. collapse:: Count should be 0 +.. image:: images/graphs/qgis_credentials.png + :scale: 25% - .. literalinclude:: ../scripts/basic/graphs/fill_columns_5.txt +| -.. rubric:: Update the ``x`` and ``y`` columns +Choose the vertices table and move it to the layers -Update the ``x`` and ``y`` columns based on the ``geom`` column. +.. image:: images/graphs/qgis_moveLayer.png + :scale: 25% -.. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :start-after: fill_columns_6.txt - :end-before: set_components1.txt +| -.. rubric:: Verification +You will see on the canvas something similar to: -.. collapse:: Number of updated records +.. image:: images/graphs/vertices.png + :scale: 25% - .. literalinclude:: ../scripts/basic/graphs/fill_columns_6.txt +| pgr_connectedComponents @@ -305,7 +272,7 @@ Description of the function can be found in `pgr_connectedComponents `__ -Exercise 3: Set components on edges and vertices tables +Exercise 4: Set components on edges and vertices tables ------------------------------------------------------------------------------- .. rubric:: Problem @@ -339,6 +306,16 @@ Create additional columns on the edges tables. .. literalinclude:: ../scripts/basic/graphs/set_components2.txt +.. collapse:: Using QGIS to visually see the components + + .. image:: images/graphs/vertices_components.png + :scale: 25% + +| + +.. note:: This is not a QGIS workshop, so the details about how to display + layers are not written in this workshop + .. rubric:: Update the edges table with based on the component number of the vertex .. literalinclude:: ../scripts/basic/graphs/graphs.sql @@ -350,8 +327,15 @@ Create additional columns on the edges tables. .. literalinclude:: ../scripts/basic/graphs/set_components3.txt +.. collapse:: Using QGIS to visually see the components -Exercise 4: Inspect the components + .. image:: images/graphs/ways_components.png + :scale: 25% + +| + + +Exercise 5: Inspect the components ------------------------------------------------------------------------------- .. rubric:: Problem @@ -422,7 +406,7 @@ Count the distinct components. Preparing the graphs ================================================================================ -Exercise 5: Creating a view for routing +Exercise 6: Creating a view for routing vehicles ------------------------------------------------------------------------------- .. image:: images/graphs/vehicle_net.png @@ -432,14 +416,16 @@ Exercise 5: Creating a view for routing .. rubric:: Problem - Create a view with minimal amount of information for processing the particular vehicles. -- Routing `cost` and `reverse_cost` in terms of seconds for routing calculations. -- Exclude `steps`, `footway`, `path`, `cycleway` segments. +- Routing ``cost`` and ``reverse_cost`` in terms of seconds for routing calculations. +- Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway`` segments. - Data needed in the view for further processing. + - ``id`` of the segment. + - ``source`` and ``target`` of the segment. - ``name`` The name of the segment. - - ``length_m`` The length in meters rename to ``length``. - - ``the_geom`` The geometry rename to ``geom``. - - ``tag_id`` Keep as is. + - ``length`` The length in meters rename from ``length_m``. + - ``geom`` The geometry. + - ``tag_id`` The kind of road. - Verify the number of edges was reduced. @@ -447,17 +433,16 @@ Exercise 5: Creating a view for routing Creating the view: -- If you need to reconstruct the view, first drop it using the command on **line - 1**. -- Get the component with maximum number of edges (**lines 6-10**) -- The `source` and `target` requirements for the function are to be with OSM - identifiers. (line **14**) -- The ``cost`` and ``reverse_cost`` are in terms of seconds. (line **15**) -- The additional parameters ``length_m`` and ``the_geom`` are renamed, ``name`` - is also included. (line **16**) +- If you need to reconstruct the view, first drop it using the command on line + 1. +- Get the component with maximum number of edges. +- Select the required columns. + - The ``cost`` and ``reverse_cost`` are in terms of seconds. + - The ``length_m`` is renamed. + - ``JOIN`` with the `configuration`: - - Exclude `steps`, `footway`, `path`, `cycleway`. (line **18**) + - Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway``. .. literalinclude:: ../scripts/basic/graphs/graphs.sql @@ -492,130 +477,144 @@ Get the description of the view .. literalinclude:: ../scripts/basic/graphs/create_vehicle_net3.txt - -Exercise 6: Limiting the road network within an area +Exercise 7: Creating a materialized view for routing pedestrians ------------------------------------------------------------------------------- -.. image:: images/graphs/taxi_net.png +.. image:: images/graphs/walk_net.png :scale: 25% - :alt: View of smaller set of roads for vehicles + :alt: View of roads for pedestrians .. rubric:: Problem -* Create a view ``taxi_net`` for the `taxi`: +- Create a materialized view with minimal amount of information for processing + pedestrian routing. +- Routing ``cost`` and ``reverse_cost`` will be in seconds for routing calculations. - * The taxi can only circulate inside this Bounding Box: ``(@PGR_WORKSHOP_LITTLE_NET_BBOX@)`` - * The taxi speed is 10% slower than the particular vehicle. + - The walking speed is ``2 mts/sec``. -* Verify the reduced number of road segments. +- Include the pedestrian roads: ``pedestrian``, ``steps``, ``footway``, + ``path``, ``cycleway`` and ``residential`` roads. +- Data needed in the view for further processing. + + - ``id`` of the segment. + - ``source`` and ``target`` of the segment. + - ``name`` The name of the segment. + - ``length`` The length in meters rename from ``length_m``. + - ``geom`` The geometry. + - ``tag_id`` The kind of road. + +- Verify the number of edges was reduced. .. rubric:: Solution Creating the view: -* Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the - particular vehicle. (line **7**) -* The graph for the taxi is a subset of the ``vehicle_net`` graph. (line **9**) -* Can only circulate inside the bounding box: - ``(@PGR_WORKSHOP_LITTLE_NET_BBOX@)``. (line **10**) +- If you need to reconstruct the view, first drop it using the command on line + 1. +- Get the component with maximum number of edges. +- Select the required columns. + + - The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of + ``2 mts/sec``. + - The ``length_m`` is renamed. + +- ``JOIN`` with the `configuration`: + + - Include ``residential``, ``pedestrian``, ``steps``, ``footway``, ``path``, + ``cycleway``. .. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :emphasize-lines: 7,9,10 - :start-after: create_taxi_net1.txt - :end-before: create_taxi_net2.txt + :language: sql + :linenos: + :emphasize-lines: 14 + :start-after: create_walk_net1.txt + :end-before: create_walk_net2.txt .. collapse:: Response of command - .. literalinclude:: ../scripts/basic/graphs/create_taxi_net1.txt + .. literalinclude:: ../scripts/basic/graphs/create_walk_net1.txt -Count the rows on ``taxi_net``. +Count the rows on the view ``walk_net``. .. literalinclude:: ../scripts/basic/graphs/graphs.sql :language: sql - :start-after: create_taxi_net2.txt - :end-before: create_taxi_net3.txt + :start-after: create_walk_net2.txt + :end-before: create_walk_net3.txt .. collapse:: Row count results - .. literalinclude:: ../scripts/basic/graphs/create_taxi_net2.txt + .. literalinclude:: ../scripts/basic/graphs/create_walk_net2.txt Get the description. .. literalinclude:: ../scripts/basic/graphs/graphs.sql - :start-after: create_taxi_net3.txt - :end-before: create_walk_net1.txt + :start-after: create_walk_net3.txt + :end-before: create_net_vertices.txt .. collapse:: The view description - .. literalinclude:: ../scripts/basic/graphs/create_taxi_net3.txt + .. literalinclude:: ../scripts/basic/graphs/create_walk_net3.txt -Exercise 7: Creating a materialized view for routing pedestrians +Exercise 8: Limiting the road network within an area ------------------------------------------------------------------------------- -.. image:: images/graphs/walk_net.png +.. image:: images/graphs/taxi_net.png :scale: 25% - :alt: View of roads for pedestrians + :alt: View of smaller set of roads for vehicles .. rubric:: Problem -- Create a materialized view with minimal amount of information for processing - pedestrians. -- Routing `cost` and `reverse_cost` will be on seconds for routing calculations. - - - The speed is ``2 mts/sec``. - -- Only include the pedestrian only roads: ``pedestrian``, ``steps``, ``footway``, - ``path``, ``cycleway`` -- Data needed in the view for further processing. +* Create a view ``taxi_net`` for the `taxi`: - - ``length_m`` The length in meters. - - ``the_geom`` The geometry. + * The taxi can only circulate inside this Bounding Box: ``(@PGR_WORKSHOP_LITTLE_NET_BBOX@)`` + * The taxi speed is 10% slower than the particular vehicle. + * Base the view on ``vehicle_net`` -- Verify the number of edges was reduced. +* Verify the reduced number of road segments. .. rubric:: Solution -- Creating the view: - - - Similar to `Exercise 5: Creating a view for routing`_: +Creating the view: - - The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of - ``2 mts/sec``. (line **7**) - - Exclude ``motorway``, ``primary`` and ``secondary`` . (line **11**) +* Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the + particular vehicle. +* The graph for the taxi is a subset of the ``vehicle_net`` graph. +* Can only circulate inside the bounding box: + ``(@PGR_WORKSHOP_LITTLE_NET_BBOX@)``. .. literalinclude:: ../scripts/basic/graphs/graphs.sql :language: sql - :emphasize-lines: 7, 11 - :start-after: create_walk_net1.txt - :end-before: create_walk_net2.txt + :emphasize-lines: 7,9,10 + :start-after: create_taxi_net1.txt + :end-before: create_taxi_net2.txt .. collapse:: Response of command - .. literalinclude:: ../scripts/basic/graphs/create_walk_net1.txt + .. literalinclude:: ../scripts/basic/graphs/create_taxi_net1.txt -Count the rows on the view ``walk_net``. +Count the rows on ``taxi_net``. .. literalinclude:: ../scripts/basic/graphs/graphs.sql :language: sql - :start-after: create_walk_net2.txt - :end-before: create_walk_net3.txt + :start-after: create_taxi_net2.txt + :end-before: create_taxi_net3.txt .. collapse:: Row count results - .. literalinclude:: ../scripts/basic/graphs/create_walk_net2.txt + .. literalinclude:: ../scripts/basic/graphs/create_taxi_net2.txt Get the description. .. literalinclude:: ../scripts/basic/graphs/graphs.sql - :start-after: create_walk_net3.txt - :end-before: create_net_vertices.txt + :start-after: create_taxi_net3.txt + :end-before: create_walk_net1.txt .. collapse:: The view description - .. literalinclude:: ../scripts/basic/graphs/create_walk_net3.txt + .. literalinclude:: ../scripts/basic/graphs/create_taxi_net3.txt + pgr_dijkstraCostMatrix ================================================================================ @@ -634,10 +633,10 @@ pgr_dijkstraCostMatrix Description of the function can be found in `pgr_dijkstraCostMatrix `__ -Exercise 8: Testing the views +Exercise 9: Testing the views ------------------------------------------------------------------------------- -.. image:: images/graphs/costMatrix.png +.. image:: images/graphs/vehicle_costmatrix.png :scale: 25% .. rubric:: Problem @@ -646,8 +645,12 @@ Exercise 8: Testing the views In particular: -* Get a traveling cost matrix in seconds from all locations to all locations. -* the views to be tested are: +* Get a traveling cost matrix in seconds from the all follwoing ``id`` to all + the ``id`` + + * |id_1|, |id_2|, |id_3|, |id_4| and |id_5|. + + * the views to be tested are: * ``vehicle_net`` * ``taxi_net`` @@ -663,17 +666,15 @@ In particular: For ``vehicle_net``: * ``vehicle_net`` is used. -* Selection of the columns with the corresponding names are on line **1**. +* Selection of the columns with the corresponding names. * The view is prepared with the column names that pgRouting use. - * There is no need to rename columns. (line **3**) - -* The OSM identifiers of the departure and destination are used. (line **4**) + * There is no need to rename columns. .. literalinclude:: ../scripts/basic/graphs/graphs.sql :language: sql :linenos: - :emphasize-lines: 1,3,4 + :emphasize-lines: 3 :start-after: test_view1.txt :end-before: test_view2.txt @@ -683,12 +684,14 @@ For ``vehicle_net``: For ``taxi_net``: -* Similar as the previous one but with ``taxi_net``. (line **3**) +* Similar as the previous one but with ``taxi_net``. * The results give the same route as with ``vehicle_net`` but ``cost`` is higher. +* Not all the locations are in the area, so not all are calculated. .. literalinclude:: ../scripts/basic/graphs/graphs.sql :language: sql + :linenos: :emphasize-lines: 3 :start-after: test_view2.txt :end-before: test_view3.txt @@ -699,15 +702,46 @@ For ``taxi_net``: For ``walk_net``: -* Similar as the previous one but with ``walk_net``. (line **3**) -* The results give a different route than of the vehicles. +* Similar as the previous ones but with ``walk_net``. - .. literalinclude:: ../scripts/basic/graphs/graphs.sql - :language: sql - :emphasize-lines: 3 - :start-after: test_view3.txt - :end-before: graphs_end.txt +.. literalinclude:: ../scripts/basic/graphs/graphs.sql + :language: sql + :linenos: + :emphasize-lines: 3 + :start-after: test_view3.txt + :end-before: visualize1.txt .. collapse:: Query results .. literalinclude:: ../scripts/basic/graphs/test_view3.txt + +Exercise 10: Visualize on QGIS the ``pgr_costMatrix`` result +------------------------------------------------------------------------------- + +.. image:: images/graphs/vehicle_costmatrix.png + :scale: 25% + +.. rubric:: Problem + +Based on the query from `Exercise 9: Testing the views`_, create a view to be +able to use on QGIS. (like the one above) + +* The results when using ``vehile_net`` is the example. +* The other results are left to the reader. + +.. rubric:: Solution + +* QGIS needs a unique identifier, the identifier will be the row number. +* ``JOIN`` with ``vertices`` table to get the geometry of the points. +* Build a ``LINESTRING`` joining the 2 points. +* The name of the line consists of the values of the result of the function. + +.. literalinclude:: ../scripts/basic/graphs/graphs.sql + :language: sql + :linenos: + :emphasize-lines: 3-5 + :start-after: visualize1.txt + :end-before: graphs_end.txt + +Enter QGIS, refresh the database and move the view to the layers. +Format adding the name to the lines. diff --git a/docs/basic/images/graphs/CMakeLists.txt b/docs/basic/images/graphs/CMakeLists.txt index dc4542969..2dd4f1441 100644 --- a/docs/basic/images/graphs/CMakeLists.txt +++ b/docs/basic/images/graphs/CMakeLists.txt @@ -3,12 +3,17 @@ # Files #--------------------- set(PGR_WORKSHOP_IMG_FILES - costMatrix.png pedestrian_only_roads.png - roads_tag_ids.png + qgis_credentials.png + qgis_menu.png + qgis_moveLayer.png taxi_net.png + vehicle_costmatrix.png vehicle_net.png + vertices_components.png + vertices.png walk_net.png + ways_components.png ) diff --git a/docs/basic/images/graphs/costMatrix.png b/docs/basic/images/graphs/costMatrix.png deleted file mode 100644 index 5ca41ce5e..000000000 Binary files a/docs/basic/images/graphs/costMatrix.png and /dev/null differ diff --git a/docs/basic/images/graphs/pedestrian_only_roads.png b/docs/basic/images/graphs/pedestrian_only_roads.png index 70700cf82..a45ee313c 100644 Binary files a/docs/basic/images/graphs/pedestrian_only_roads.png and b/docs/basic/images/graphs/pedestrian_only_roads.png differ diff --git a/docs/basic/images/graphs/qgis_credentials.png b/docs/basic/images/graphs/qgis_credentials.png new file mode 100644 index 000000000..19c603d37 Binary files /dev/null and b/docs/basic/images/graphs/qgis_credentials.png differ diff --git a/docs/basic/images/graphs/qgis_menu.png b/docs/basic/images/graphs/qgis_menu.png new file mode 100644 index 000000000..2135564d5 Binary files /dev/null and b/docs/basic/images/graphs/qgis_menu.png differ diff --git a/docs/basic/images/graphs/qgis_moveLayer.png b/docs/basic/images/graphs/qgis_moveLayer.png new file mode 100644 index 000000000..89b1ca74f Binary files /dev/null and b/docs/basic/images/graphs/qgis_moveLayer.png differ diff --git a/docs/basic/images/graphs/roads_tag_ids.png b/docs/basic/images/graphs/roads_tag_ids.png deleted file mode 100644 index d91053b8c..000000000 Binary files a/docs/basic/images/graphs/roads_tag_ids.png and /dev/null differ diff --git a/docs/basic/images/graphs/taxi_net.png b/docs/basic/images/graphs/taxi_net.png index bd47ad33f..1bc3ed0d5 100644 Binary files a/docs/basic/images/graphs/taxi_net.png and b/docs/basic/images/graphs/taxi_net.png differ diff --git a/docs/basic/images/graphs/vehicle_costmatrix.png b/docs/basic/images/graphs/vehicle_costmatrix.png new file mode 100644 index 000000000..0dccfa666 Binary files /dev/null and b/docs/basic/images/graphs/vehicle_costmatrix.png differ diff --git a/docs/basic/images/graphs/vehicle_net.png b/docs/basic/images/graphs/vehicle_net.png index bae43aaed..9b4ee85cd 100644 Binary files a/docs/basic/images/graphs/vehicle_net.png and b/docs/basic/images/graphs/vehicle_net.png differ diff --git a/docs/basic/images/graphs/vertices.png b/docs/basic/images/graphs/vertices.png new file mode 100644 index 000000000..e8c812631 Binary files /dev/null and b/docs/basic/images/graphs/vertices.png differ diff --git a/docs/basic/images/graphs/vertices_components.png b/docs/basic/images/graphs/vertices_components.png new file mode 100644 index 000000000..829b2099b Binary files /dev/null and b/docs/basic/images/graphs/vertices_components.png differ diff --git a/docs/basic/images/graphs/walk_net.png b/docs/basic/images/graphs/walk_net.png index 085ca2827..80f53b384 100644 Binary files a/docs/basic/images/graphs/walk_net.png and b/docs/basic/images/graphs/walk_net.png differ diff --git a/docs/basic/images/graphs/ways_components.png b/docs/basic/images/graphs/ways_components.png new file mode 100644 index 000000000..516e142f1 Binary files /dev/null and b/docs/basic/images/graphs/ways_components.png differ diff --git a/docs/basic/images/pedestrian/CMakeLists.txt b/docs/basic/images/pedestrian/CMakeLists.txt index 5d839aa85..55279e436 100644 --- a/docs/basic/images/pedestrian/CMakeLists.txt +++ b/docs/basic/images/pedestrian/CMakeLists.txt @@ -4,10 +4,11 @@ #--------------------- set(PGR_WORKSHOP_IMG_FILES pedestrian_combinations.png - pedestrian_dijkstracost.png + pedestrian_cost_many_to_many.png pedestrian_many_to_many.png pedestrian_one_to_many.png pedestrian_one_to_one.png + stars.png ) diff --git a/docs/basic/images/pedestrian/pedestrian_combinations.png b/docs/basic/images/pedestrian/pedestrian_combinations.png index 778d04e04..90e25555b 100644 Binary files a/docs/basic/images/pedestrian/pedestrian_combinations.png and b/docs/basic/images/pedestrian/pedestrian_combinations.png differ diff --git a/docs/basic/images/pedestrian/pedestrian_cost_many_to_many.png b/docs/basic/images/pedestrian/pedestrian_cost_many_to_many.png new file mode 100644 index 000000000..cd63c01b7 Binary files /dev/null and b/docs/basic/images/pedestrian/pedestrian_cost_many_to_many.png differ diff --git a/docs/basic/images/pedestrian/pedestrian_dijkstracost.png b/docs/basic/images/pedestrian/pedestrian_dijkstracost.png deleted file mode 100644 index af50f68ee..000000000 Binary files a/docs/basic/images/pedestrian/pedestrian_dijkstracost.png and /dev/null differ diff --git a/docs/basic/images/pedestrian/pedestrian_many_to_many.png b/docs/basic/images/pedestrian/pedestrian_many_to_many.png index 0812f6bb7..49a8977de 100644 Binary files a/docs/basic/images/pedestrian/pedestrian_many_to_many.png and b/docs/basic/images/pedestrian/pedestrian_many_to_many.png differ diff --git a/docs/basic/images/pedestrian/pedestrian_one_to_many.png b/docs/basic/images/pedestrian/pedestrian_one_to_many.png index 2bac5a228..d4941450d 100644 Binary files a/docs/basic/images/pedestrian/pedestrian_one_to_many.png and b/docs/basic/images/pedestrian/pedestrian_one_to_many.png differ diff --git a/docs/basic/images/pedestrian/pedestrian_one_to_one.png b/docs/basic/images/pedestrian/pedestrian_one_to_one.png index 811698883..2863b5c04 100644 Binary files a/docs/basic/images/pedestrian/pedestrian_one_to_one.png and b/docs/basic/images/pedestrian/pedestrian_one_to_one.png differ diff --git a/docs/basic/images/pedestrian/stars.png b/docs/basic/images/pedestrian/stars.png new file mode 100644 index 000000000..625e64eab Binary files /dev/null and b/docs/basic/images/pedestrian/stars.png differ diff --git a/docs/basic/images/vehicle/vehicle_route_coming.png b/docs/basic/images/vehicle/vehicle_route_coming.png index 689614f90..f93b58536 100644 Binary files a/docs/basic/images/vehicle/vehicle_route_coming.png and b/docs/basic/images/vehicle/vehicle_route_coming.png differ diff --git a/docs/basic/images/vehicle/vehicle_route_going.png b/docs/basic/images/vehicle/vehicle_route_going.png index 027eadaa9..5cc4bf5ff 100644 Binary files a/docs/basic/images/vehicle/vehicle_route_going.png and b/docs/basic/images/vehicle/vehicle_route_going.png differ diff --git a/docs/basic/images/vehicle/vehicle_time_is_money.png b/docs/basic/images/vehicle/vehicle_time_is_money.png index 09fd60ea9..9283d9141 100644 Binary files a/docs/basic/images/vehicle/vehicle_time_is_money.png and b/docs/basic/images/vehicle/vehicle_time_is_money.png differ diff --git a/docs/basic/images/vehicle/vehicle_use_penalty.png b/docs/basic/images/vehicle/vehicle_use_penalty.png index e074e9d49..7d1fcdac4 100644 Binary files a/docs/basic/images/vehicle/vehicle_use_penalty.png and b/docs/basic/images/vehicle/vehicle_use_penalty.png differ diff --git a/docs/basic/pedestrian.rst b/docs/basic/pedestrian.rst index e268db38a..52379c1d6 100644 --- a/docs/basic/pedestrian.rst +++ b/docs/basic/pedestrian.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2016-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Pedestrian Routing =============================================================================== @@ -25,6 +20,61 @@ pgRouting functions in this chapter .. contents:: Chapter Contents +Identifiers for the Queries +------------------------------------------------------------------------------- + +The assignment of the vertices identifiers on the source and target columns may +be different, the exercises will use the identifiers value assigned by +``oms2pgrouting`` + +For the workshop, some locations near of the FOSS4G event are going to be used. +These locations are within this area |osm_map_link| + +* |osmid_1| |place_1| +* |osmid_2| |place_2| +* |osmid_3| |place_3| +* |osmid_4| |place_4| +* |osmid_5| |place_5| + +.. note:: + Don'f forget to connect to the database, if not connected: + + :: + + psql city_routing + +Get the vertex identifiers + +.. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql + :language: sql + :start-after: get_id.txt + :end-before: stars.txt + +| + +.. literalinclude:: ../scripts/basic/pedestrian/get_id.txt + +To use as a guide in QGIS, create a view: + +.. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql + :language: sql + :start-after: stars.txt + :end-before: one_to_one.txt + +.. literalinclude:: ../scripts/basic/pedestrian/stars.txt + +* |osmid_1| |place_1| (|id_1|) +* |osmid_2| |place_2| (|id_2|) +* |osmid_3| |place_3| (|id_3|) +* |osmid_4| |place_4| (|id_4|) +* |osmid_5| |place_5| (|id_5|) + + +The corresponding :code:`id` are shown in the following image. + +.. image:: images/pedestrian/stars.png + :scale: 25% + pgr_dijkstra ------------------------------------------------------------------------------- @@ -61,89 +111,68 @@ Description of the function can be found in `pgr_dijkstra * The pgRouting functions **do not** return a geometry, but only an ordered list of nodes or edges. -.. rubric:: Identifiers for the Queries +Exercise 1: Single pedestrian routing +............................................................................... -The assignment of the vertices identifiers on the source and target columns may -be different, the following exercises will use the results of this query. -For the workshop, some locations near of the FOSS4G event are going to be used. -These locations are within this area https://www.openstreetmap.org/#map=16/-36.8520950/174.7631803 +.. image:: images/pedestrian/pedestrian_one_to_one.png + :scale: 25% -* |osmid_1| |place_1| -* |osmid_2| |place_2| -* |osmid_3| |place_3| -* |osmid_4| |place_4| -* |osmid_5| |place_5| +.. rubric:: Problem: +* Get walking route -Connect to the database, if not connected: + * from "|place_1|" + * to "|place_3|". -:: +* Calculate routes with costs in ``length`` in meters. +* Create a view with the results data and geometry to be used in QGIS. - psql city_routing +.. rubric:: Solution: -Get the vertex identifiers +* The pedestrian wants to go from vertex |id_1| to vertex |id_3|. +* The pedestrian's cost is in terms of length. In this case ``length``. +* From a pedestrian perspective the graph is ``undirected``, that is, the + pedestrian can move in both directions on all segments. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql - :language: sql - :start-after: get_id.txt - :end-before: one_to_one.txt - -| - -.. literalinclude:: ../scripts/basic/pedestrian/get_id.txt - -* |osmid_1| |place_1| (|id_1|) -* |osmid_2| |place_2| (|id_2|) -* |osmid_3| |place_3| (|id_3|) -* |osmid_4| |place_4| (|id_4|) -* |osmid_5| |place_5| (|id_5|) - - -The corresponding :code:`id` are shown in the following image, and a sample route from -"|place_3|" to "|place_1|". - -.. image:: images/pedestrian/pedestrian_one_to_one.png - :scale: 25% - -Exercise 1: Single pedestrian routing -............................................................................... + :language: sql + :start-after: one_to_one.txt + :end-before: one_to_one_view.txt + :emphasize-lines: 2-4 -.. rubric:: Problem: +.. collapse:: Query results -* Walking + .. literalinclude:: ../scripts/basic/pedestrian/one_to_one.txt - * from "|place_1|" - * to "|place_3|". +:Inner query: Query formatted as ``TEXT`` used inside the function. -* Calculate routes with costs in ``length`` in meters. +The returned cost attribute represents the cost specified in the inner SQL query +(``edges_sql::text`` argument). In this example cost is ``length`` in unit +"meters". The exercises on this chapter will modify the cost. -.. image:: images/pedestrian/pedestrian_one_to_one.png - :scale: 25% +.. note:: + ``node`` and ``edge`` results may vary depending on the assignment of the + identifiers to the vertices given by osm2pgrouting. -.. rubric:: Solution: +To create a view, ``JOIN`` the query results with the walk_net and capture the +``geom`` in the view. -* The pedestrian wants to go from vertex |id_1| to vertex |id_3| (lines **5** and **6**). -* The pedestrian's cost is in terms of length. In this case ``length`` (line **3**). -* From a pedestrian perspective the graph is ``undirected`` (line **7**), that is, the - pedestrian can move in both directions on all segments. +* The query above is highlighted. +* An additional ``SELECT`` is needed to display the data. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql :language: sql - :start-after: one_to_one.txt + :start-after: one_to_one_view.txt :end-before: many_to_one.txt - :linenos: + :emphasize-lines: 3-9 .. collapse:: Query results - .. literalinclude:: ../scripts/basic/pedestrian/one_to_one.txt + .. literalinclude:: ../scripts/basic/pedestrian/one_to_one_view.txt .. note:: - * The returned cost attribute represents the cost specified in the inner SQL - query (``edges_sql::text`` argument). In this example cost is ``length`` in - unit "meters". Cost may be time, distance or any combination of both or any - other attributes or a custom formula. - * ``node`` and ``edge`` results may vary depending on the assignment of the - identifiers to the vertices given by osm2pgrouting. + Every time you make a change on the database, in QGIS, refresh the database + and move the view to the layers. Exercise 2: Many Pedestrians going to the same destination ............................................................................... @@ -162,14 +191,15 @@ Exercise 2: Many Pedestrians going to the same destination .. rubric:: Solution: -* The pedestrians are departing at vertices |id_1| and |id_2| (line **5**). -* All pedestrians want to go to vertex |id_3| (line **6**). -* The cost to be in kilometers using attribute ``length`` (line **3**). +* The pedestrians are departing at vertices |id_1| and |id_2|. +* All pedestrians want to go to vertex |id_3|. +* The cost to be in kilometers using attribute ``length``. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql :language: sql :start-after: many_to_one.txt :end-before: one_to_many.txt + :emphasize-lines: 3-9 :linenos: .. collapse:: Query results @@ -196,15 +226,16 @@ Exercise 3: Many Pedestrians departing from the same location .. rubric:: Solution: -* All pedestrians are departing from vertex |id_3| (line **5**). -* Pedestrians want to go to locations |id_1| and |id_2| (line **6**). -* The ``cost`` column on ``walk_net`` is in seconds. (line **3**) +* All pedestrians are departing from vertex |id_3|. +* Pedestrians want to go to locations |id_1| and |id_2|. +* The ``cost`` column on ``walk_net`` is in seconds. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql :language: sql :start-after: one_to_many.txt :end-before: many_to_many.txt :linenos: + :emphasize-lines: 3-9 .. collapse:: Query results @@ -219,7 +250,7 @@ Exercise 4: Many Pedestrians going to different destinations * Walking * from "|place_1|" and "|place_2|" - * to "|place_4|" and "|place_5|" + * to "|place_3|" and "|place_5|" * Calculate routes with costs in minutes at walking speed ``s = 1.3 m/s``. @@ -228,8 +259,8 @@ Exercise 4: Many Pedestrians going to different destinations .. rubric:: Solution: -* The pedestrians depart from |id_1| and |id_2| (line **5**). -* The pedestrians want to go to destinations |id_4| and |id_5| (line **6**). +* The pedestrians depart from |id_1| and |id_2|. +* The pedestrians want to go to destinations |id_3| and |id_5|. * The cost to be in minutes, with a walking speed ``s = 1.3 m/s`` and ``t = d/s``. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql @@ -237,13 +268,12 @@ Exercise 4: Many Pedestrians going to different destinations :start-after: many_to_many.txt :end-before: combinations.txt :linenos: + :emphasize-lines: 3-9 .. collapse:: Query results .. literalinclude:: ../scripts/basic/pedestrian/many_to_many.txt -.. note:: .. include:: ../scripts/basic/pedestrian/note_1.txt - Exercise 5: Combination of routes ............................................................................... @@ -252,7 +282,7 @@ Exercise 5: Combination of routes * Walking * First pedestrian goes from "|place_1|" to "|place_4|" - * Second pedestrian goes from "|place_2|" to "|place_5|" + * Second pedestrian goes from "|place_3|" to "|place_5|" * Calculate routes with costs in minutes at walking speed ``s = 1.3 m/s``. @@ -261,8 +291,8 @@ Exercise 5: Combination of routes .. rubric:: Solution: -* First pedestrian departs from |id_1| and the destination is |id_4| (line **6**). -* Second pedestrian departs from |id_2| and the destination is |id_5| (line **7**). +* First pedestrian departs from |id_1| and the destination is |id_3|. +* Second pedestrian departs from |id_2| and the destination is |id_5|. * The cost to be in minutes, with a walking speed ``s = 1.3 m/s`` and ``t = d/s``. .. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql @@ -270,6 +300,7 @@ Exercise 5: Combination of routes :start-after: combinations.txt :end-before: dijkstracost.txt :linenos: + :emphasize-lines: 3-11 .. collapse:: Query results @@ -310,7 +341,7 @@ Exercise 6: Time for many Pedestrians going to different destinations * Get only the cost in minutes. -.. image:: images/pedestrian/pedestrian_dijkstracost.png +.. image:: images/pedestrian/pedestrian_cost_many_to_many.png :scale: 25% .. rubric:: Solution: @@ -330,4 +361,13 @@ Exercise 6: Time for many Pedestrians going to different destinations .. literalinclude:: ../scripts/basic/pedestrian/dijkstracost.txt -Compare with `Exercise 4: Many Pedestrians going to different destinations`_ 's note. +The sanme results can be obtained from the ``pedestrian_many_to_many`` view: + +.. literalinclude:: ../scripts/basic/pedestrian/pedestrian.sql + :language: sql + :start-after: note_1.txt + +.. collapse:: Query results + + .. literalinclude:: ../scripts/basic/pedestrian/note_1.txt + diff --git a/docs/basic/sql_function.rst b/docs/basic/sql_function.rst index d7ef251d9..270c753ac 100644 --- a/docs/basic/sql_function.rst +++ b/docs/basic/sql_function.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2013-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 SQL function @@ -220,8 +215,7 @@ arrows that do not match the directionality of the route. To have correct directionality, the ending point of a geometry must match the starting point of the next geometry -* Inspecting the detail of the results of `Exercise 2: Route geometry (human - readable)`_ +* Inspecting the detail of the results of `Exercise 2: Route geometry (human readable)`_ .. collapse:: Query: Rows where criteria is not met diff --git a/docs/basic/vehicle.rst b/docs/basic/vehicle.rst index 5a07eec80..bf78f9aa6 100644 --- a/docs/basic/vehicle.rst +++ b/docs/basic/vehicle.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2016-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Vehicle Routing @@ -121,9 +116,10 @@ Exercise 2: Vehicle routing - returning * The vehicle is going from vertex |id_3| to |id_1|. .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql - :start-after: route_coming.txt - :end-before: time_is_money.txt - :language: sql + :start-after: route_coming.txt + :end-before: time_is_money.txt + :language: sql + :emphasize-lines: 3-8 .. collapse:: Query results @@ -137,15 +133,15 @@ Exercise 3: Vehicle routing when time is money .. rubric:: Problem: -* From "|place_3|" to the "|place_1|" by taxi. +* From "|place_3|" to the "|place_1|" .. image:: images/vehicle/vehicle_time_is_money.png :width: 300pt - :alt: From |place_3| to |place_1| by taxi. + :alt: From |place_3| to |place_1| .. rubric:: Solution: -* Use the ``taxi_net``. +* Use the ``vehicle_net``. * The cost is ``$100 per hour``. * Using ``cost`` and ``reverse_cost`` columns, which are in seconds. @@ -156,71 +152,93 @@ Exercise 3: Vehicle routing when time is money * The vehicle is going from vertex |id_3| to |id_1|. .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql - :start-after: time_is_money.txt - :end-before: add_penalty.txt - :language: sql + :start-after: time_is_money.txt + :end-before: add_penalty.txt + :language: sql + :emphasize-lines: 3-8 .. collapse:: Query results .. literalinclude:: ../scripts/basic/vehicles/time_is_money.txt .. note:: - Comparing with `Exercise 2: Vehicle routing - returning`_: + Comparing with `Exercise 2: Vehicle routing - returning`_: - * The total number of records are identical. - * The node sequence is identical. - * The edge sequence is identical. - * The cost and agg_cost results are directly proportional. + * The total number of records are identical. + * The node sequence is identical. + * The edge sequence is identical. + * The cost and agg_cost results are directly proportional. Cost manipulations ------------------------------------------------------------------------------- -In this workshop, costs are going to be manipulated using the ``configuration`` table. +In this workshop, costs are going to be manipulated using the ``configuration`` +table. -Exercise 4: Vehicle routing without penalization +Exercise 4: Create a penalazied view ............................................................................... .. rubric:: Problem: -* From the "|place_3|" to "|place_1|" - -.. image:: images/vehicle/vehicle_route_coming.png - :scale: 25% - :alt: From |place_3| to |place_1| +Add a penalty column on the :code:`configuration` table with default value of 1. +Create a view that uses the value of the column to modify the costs. .. rubric:: Solution: -* Add a penalty column +* Add the penalty column with the default value of ``1``. - * All roads have a ``penalty`` of ``1``. +.. literalinclude:: ../scripts/basic/vehicles/vehicles.sql + :start-after: add_penalty.txt + :end-before: create_penalized_view.txt + +* Create the penalized vehicle net - .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql - :start-after: add_penalty.txt - :end-before: use_penalty.txt +.. literalinclude:: ../scripts/basic/vehicles/vehicles.sql + :start-after: create_penalized_view.txt + :end-before: use_penalty.txt * The vehicle's cost in this case will be in penalized seconds. - * Costs are to be multiplied by :code:`penalty` (lines **5** and **6**). + * Costs are to be multiplied by :code:`penalty` * Costs won't change (:math:`cost * 1 = cost`). -* The :code:`configuration` table is linked with the :code:`ways` table by the - :code:`tag_id` field using a ``JOIN`` +Exercise 5: Vehicle routing without penalization +............................................................................... + +.. rubric:: Problem: + +* From the "|place_3|" to "|place_1|" use the penalized view. + +.. image:: images/vehicle/vehicle_route_coming.png + :scale: 25% + :alt: From |place_3| to |place_1| + * The vehicle is going from vertex |id_3| to vertex |id_1|. .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql :start-after: use_penalty.txt - :end-before: update_penalty.txt + :end-before: same_result_as_comming.txt :language: sql :linenos: - :force: .. collapse:: Query results .. literalinclude:: ../scripts/basic/vehicles/use_penalty.txt +Simple check, the results are the same as the :code:`vehicle_route_coming` view. + +.. literalinclude:: ../scripts/basic/vehicles/vehicles.sql + :start-after: same_result_as_comming.txt + :end-before: update_penalty.txt + :language: sql + :linenos: + +.. collapse:: Query results + + .. literalinclude:: ../scripts/basic/vehicles/same_result_as_comming.txt -Exercise 5: Vehicle routing with penalization +Exercise 6: Penalizing based on the kind of roads ............................................................................... .. rubric:: Concept: @@ -249,10 +267,17 @@ The ``penalty`` values can be changed with ``UPDATE`` queries. .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql :start-after: update_penalty.txt - :end-before: get_penalized_route.txt + :end-before: show_penalties.txt :language: sql :force: +.. collapse:: The penalties + + .. literalinclude:: ../scripts/basic/vehicles/show_penalties.txt + +Exercise 7: Vehicle routing with penalization +............................................................................... + .. rubric:: Problem: * From the "|place_3|" to "|place_1|" with penalization. @@ -263,7 +288,7 @@ The ``penalty`` values can be changed with ``UPDATE`` queries. .. rubric:: Solution: -* Using the same query from `Exercise 4: Vehicle routing without penalization`_ +* Using the same query from `Exercise 5: Vehicle routing without penalization`_ .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql :start-after: get_penalized_route.txt @@ -276,16 +301,17 @@ The ``penalty`` values can be changed with ``UPDATE`` queries. .. literalinclude:: ../scripts/basic/vehicles/get_penalized_route.txt .. note:: - Comparing with `Exercise 3: Vehicle routing when time is money`_: + Comparing with `Exercise 5: Vehicle routing without penalization`_ - * The total number of records changed. + * The query is the same. + * The total number of records changed. - * The node sequence changed. - * The edge sequence changed. + * The node sequence changed. + * The edge sequence changed. - * The costs do not change proportionally. + * The costs do not change proportionally. -Exercise 6: Time in seconds of penalized route using a view +Exercise 8: Original time of penalized route ............................................................................... .. rubric:: Problem: @@ -297,23 +323,14 @@ Get the times in seconds of a penalized route * Create a penalized view by joining the ``vehicle_net`` joined with the ``configuration`` table - * Use the inner query from `Exercise 5: Vehicle routing with penalization`_ - - .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql - :start-after: penalized_view.txt - :end-before: using_view.txt - :language: sql - :force: - -* Get the route - ``configuration`` table + * Use the inner query from `Exercise 5: Vehicle routing without penalization`_ .. literalinclude:: ../scripts/basic/vehicles/vehicles.sql - :start-after: using_view.txt + :start-after: time_in_secs.txt :end-before: vehicles_end.txt :language: sql :force: .. collapse:: Query results - .. literalinclude:: ../scripts/basic/vehicles/using_view.txt + .. literalinclude:: ../scripts/basic/vehicles/time_in_secs.txt diff --git a/docs/basic/withPoints.rst b/docs/basic/withPoints.rst index 16983733b..43a8f2335 100644 --- a/docs/basic/withPoints.rst +++ b/docs/basic/withPoints.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2016-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Routing using points ############################################################################### diff --git a/docs/conf.py b/docs/conf.py index 83dde6625..6d2a087b1 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -303,4 +303,5 @@ def setup(app): .. |ch7_id_2| replace:: ``@CH7_ID_2@`` .. |ch7_place_1| replace:: @CH7_PLACE_1@ .. |ch7_place_2| replace:: @CH7_PLACE_2@ +.. |osm_map_link| replace:: https://www.openstreetmap.org/#map=16/@OSM_BBOX_CENTROID@ """ diff --git a/docs/examples/boost_dijkstra.rst b/docs/examples/boost_dijkstra.rst index 85f896d85..8df219cec 100644 --- a/docs/examples/boost_dijkstra.rst +++ b/docs/examples/boost_dijkstra.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2018-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Boost Dijkstra Example =============================================================================== diff --git a/docs/examples/hanoslav.rst b/docs/examples/hanoslav.rst index 591d7d11d..3b44bac9b 100644 --- a/docs/examples/hanoslav.rst +++ b/docs/examples/hanoslav.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2018-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Internet Examples =============================================================================== diff --git a/docs/examples/wiki_example.rst b/docs/examples/wiki_example.rst index a6c2ad62a..9e28ade74 100644 --- a/docs/examples/wiki_example.rst +++ b/docs/examples/wiki_example.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2018-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Wikipedia Dijkstra Example =============================================================================== diff --git a/docs/general-intro/CMakeLists.txt b/docs/general-intro/CMakeLists.txt index af42dd3f0..28725544a 100644 --- a/docs/general-intro/CMakeLists.txt +++ b/docs/general-intro/CMakeLists.txt @@ -6,7 +6,6 @@ add_custom_target(general-intro ALL) set(PGR_WORKSHOP_FILES introduction.rst overview.rst - osgeolive.rst ) #--------------------------------------------- diff --git a/docs/general-intro/introduction.rst b/docs/general-intro/introduction.rst index 7e1fc4c00..5b43eaeab 100644 --- a/docs/general-intro/introduction.rst +++ b/docs/general-intro/introduction.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Introduction =============================================================================== @@ -29,13 +24,12 @@ integrated with other FOSS tools. * Creating a routing topology. * Importing |osm-web| road network data. * Using pgRouting algorithms. -* Writing advanced queries. -* Writing a custom PostgreSQL stored procedure in `plpgsql`. +* Writing queries. +* Writing a custom PostgreSQL stored function. .. rubric:: Prerequisites -* Workshop level: basic -* Previous knowledge: SQL (PostgreSQL, PostGIS) +* Previous knowledge: PostgreSQL, PostGIS * Equipments: `OSGeoLive `__ (@OSGeoLive_VERSION@) Advanced @@ -47,8 +41,7 @@ section covers several graph problems that can be solved using pgRouting. .. rubric:: Prerequisites -* Workshop level: Advanced -* Previous knowledge: SQL (PostgreSQL, PostGIS, pgRouting) +* Previous knowledge: PostgreSQL, PostGIS, pgRouting basic level. * Equipments: `OSGeoLive `__ (@OSGeoLive_VERSION@) Aknowledments @@ -62,7 +55,7 @@ Aknowledments :target: https://www.paragoncorporation.com/ .. image:: /images/logos/erosion.png - :alt: Paragon Corporation + :alt: Erosion freelancers :width: 200 :target: https://www.erosion.dev/ @@ -71,13 +64,10 @@ Aknowledments * *Vicky Vergara* is a freelance developer from Mexico. She is the core developer of the pgRouting project and a GSoC Mentor. She also serves as an OSGeo Charter member. -* *Ramón Ríos* is a freelance developer from Mexico. He is the Lead Engineer for - ParkUpFront. - - .. rubric:: Past and present tutors and developers: Daniel Kastl, +Iosefa Persival, José Ríos, Ko Nagase, Stephen Woodbridge, @@ -89,6 +79,7 @@ Vicky Vergara .. rubric:: Past and present supporters: +erosion Georepublic, Paragon Corporation diff --git a/docs/general-intro/overview.rst b/docs/general-intro/overview.rst index 1470da739..ee5d883a2 100644 --- a/docs/general-intro/overview.rst +++ b/docs/general-intro/overview.rst @@ -1,13 +1,8 @@ -.. - **************************************************************************** - pgRouting Workshop Manual - Copyright(c) pgRouting Contributors +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -Software and Data Overview +Software and Data Source Overview =============================================================================== .. image:: /images/logos/osgeo.png @@ -15,13 +10,14 @@ Software and Data Overview :target: https://www.osgeo.org/ +pgRouting is a community project of OSGeo. + This workshop uses several free and open source softwares for geospatial tools. -Most of these softwares are related to -other open source software projects. Here we mention the most important ones. +Most of these softwares are related to other open source software projects. Here +we mention the most important ones. .. contents:: Chapter Contents - pgRouting Overview ------------------------------------------------------------------------------- @@ -34,24 +30,18 @@ geospatial routing functionality. Advantages of the database routing approach are: -* Data and attributes can be modified by many clients, like QGIS or by directly - using PL/pgSQL. The clients can either be personal computers or mobile - devices. +* Data and attributes are stored on a PostreSQL database and as such they can be + modified can be modified by many clients. * Data changes can be reflected instantaneously through the routing engine. - There is no need for precalculation. + There is no need for pre-calculation. * The “cost” parameter can be dynamically calculated through SQL and its value can come from multiple fields or tables. Some of the pgRouting library core features are: -* `Dijkstra Algorithm `__ -* `Johnson's Algorithm `__ -* `Floyd-Warshall Algorithm `__ -* `A* Search Algorithm `__ -* `Bi-directional Dijkstra `__ -* `Bi-directional A* `__ -* `Traveling Salesperson Problem `__ -* `Driving Distance `__ +* `Functions based on Dijkstra Algorithm `__ +* `Functions based on `A* Search Algorithm `__ +* `Graph commponent functions `__ * `and many more `_ pgRouting is an open source software available under the GPLv2 license and is @@ -90,18 +80,19 @@ OpenStreetMap Overview :align: center :target: https://www.openstreetmap.org - OpenStreetMap (OSM) is dedicated to creating and providing geographic - data, such as street maps, worldwide, for free. Most maps considered - 'free' actually have legal or technical restrictions on their use. - These restrictions hold back anyone from using them in creative, - productive or unexpected ways, and make every map a silo of data and effort. - - -- `Source: OSM Press Wiki `_ - OpenStreetMap is an incredible data source for pgRouting because it has no technical restrictions in terms of processing the data. Data availability still varies from country to country, but the worldwide coverage is improving day by -day. +day. In its own words: + + OpenStreetMap (OSM) is dedicated to creating and providing geographic + data, such as street maps, worldwide, for free. + + Most maps considered 'free' actually have legal or technical restrictions on their use. + These restrictions hold back anyone from using them in creative, + productive or unexpected ways, and make every map a silo of data and effort. + + -- `Source: OSM Press Wiki `_ OpenStreetMap uses a topological data structure: diff --git a/docs/index.rst b/docs/index.rst index 4938fd44d..cbe81448a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2010-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 pgRouting Workshop ############################################################################### @@ -19,9 +14,8 @@ Workshop introduction :numbered: :maxdepth: 2 - general-intro/introduction.rst - general-intro/osgeolive.rst - general-intro/overview.rst + general-intro/introduction + general-intro/overview Basic =============================================================================== @@ -30,12 +24,12 @@ Basic :numbered: :maxdepth: 2 - basic/data.rst - basic/graphs.rst - basic/pedestrian.rst - basic/vehicle.rst - basic/sql_function.rst - basic/withPoints.rst + basic/data + basic/graphs + basic/pedestrian + basic/vehicle + basic/sql_function + basic/withPoints United Nations Sustainable Development Goals =============================================================================== @@ -44,11 +38,11 @@ United Nations Sustainable Development Goals :numbered: :maxdepth: 2 - un_sdg/data.rst - un_sdg/introduction.rst - un_sdg/sdg3-health.rst - un_sdg/sdg7-energy.rst - un_sdg/sdg11-cities.rst + un_sdg/data + un_sdg/introduction + un_sdg/sdg3-health + un_sdg/sdg7-energy + un_sdg/sdg11-cities Interaction with other software =============================================================================== @@ -57,10 +51,10 @@ Interaction with other software :numbered: :maxdepth: 2 - interactions/chapter-9.rst - interactions/chapter-10.rst - interactions/chapter-11.rst - advanced/chapter-12.rst + interactions/chapter-9 + interactions/chapter-10 + interactions/chapter-11 + advanced/chapter-12 Examples from the Internet =============================================================================== @@ -69,9 +63,9 @@ Examples from the Internet :numbered: :maxdepth: 2 - examples/boost_dijkstra.rst - examples/hanoslav.rst - examples/wiki_example.rst + examples/boost_dijkstra + examples/hanoslav + examples/wiki_example Appendices =============================================================================== @@ -80,6 +74,7 @@ Appendices :numbered: :maxdepth: 2 - appendix/appendix-2.rst - appendix/appendix-3.rst - appendix/appendix-4.rst + appendix/osgeolive + appendix/appendix-2 + appendix/appendix-3 + appendix/appendix-4 diff --git a/docs/interactions/chapter-10.rst b/docs/interactions/chapter-10.rst index 37d57e5f0..722fb225d 100644 --- a/docs/interactions/chapter-10.rst +++ b/docs/interactions/chapter-10.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2013-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 .. _geoserverwms: diff --git a/docs/interactions/chapter-11.rst b/docs/interactions/chapter-11.rst index 4d076293d..401870e6a 100644 --- a/docs/interactions/chapter-11.rst +++ b/docs/interactions/chapter-11.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2013-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 .. _openlayers: diff --git a/docs/interactions/chapter-9.rst b/docs/interactions/chapter-9.rst index 59679ffca..d55909e69 100644 --- a/docs/interactions/chapter-9.rst +++ b/docs/interactions/chapter-9.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2017-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 ############################################################################### Using Qgis diff --git a/docs/interactions/code/QGISfunctions.sql b/docs/interactions/code/QGISfunctions.sql index 3e1be86f4..b546da501 100644 --- a/docs/interactions/code/QGISfunctions.sql +++ b/docs/interactions/code/QGISfunctions.sql @@ -17,7 +17,7 @@ DROP VIEW IF EXISTS d_1 ; CREATE VIEW d_1 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length AS cost @@ -36,7 +36,7 @@ DROP VIEW IF EXISTS d_2 ; CREATE VIEW d_2 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m AS cost @@ -54,7 +54,7 @@ DROP VIEW IF EXISTS d_3 ; CREATE VIEW d_3 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 AS cost @@ -73,7 +73,7 @@ DROP VIEW IF EXISTS d_4 ; CREATE VIEW d_4 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -92,7 +92,7 @@ DROP VIEW IF EXISTS d_5 ; CREATE VIEW d_5 AS SELECT * FROM pgr_dijkstraCost( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -110,7 +110,7 @@ DROP VIEW IF EXISTS d_6 ; CREATE VIEW d_6 AS SELECT start_vid, sum(agg_cost) FROM pgr_dijkstraCost( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -135,7 +135,7 @@ DROP VIEW IF EXISTS ad_7 ; CREATE VIEW ad_7 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s AS cost, @@ -151,7 +151,7 @@ DROP VIEW IF EXISTS ad_8 ; CREATE VIEW ad_8 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s AS cost, @@ -168,7 +168,7 @@ DROP VIEW IF EXISTS ad_9 ; CREATE VIEW ad_9 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s / 3600 * 100 AS cost, @@ -202,7 +202,7 @@ UPDATE configuration SET penalty=1; SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s * penalty AS cost, @@ -232,7 +232,7 @@ DROP VIEW IF EXISTS ad_11 ; CREATE VIEW ad_11 AS SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s * penalty AS cost, @@ -256,13 +256,13 @@ DROP VIEW IF EXISTS vehicle_net CASCADE; -- DROP VIEW vehicle_net CASCADE; CREATE VIEW vehicle_net AS - SELECT gid, + SELECT id, source, target, -- converting to minutes cost_s / 60 AS cost, reverse_cost_s / 60 AS reverse_cost, - the_geom + geom FROM ways JOIN configuration AS c USING (tag_id) WHERE c.tag_value NOT IN ('steps','footway','path'); @@ -278,7 +278,7 @@ SELECT count(*) FROM vehicle_net; CREATE VIEW little_net AS SELECT * FROM vehicle_net - WHERE vehicle_net.the_geom && ST_MakeEnvelope(39.27, -6.79, 39.30, -6.83); + WHERE vehicle_net.geom && ST_MakeEnvelope(39.27, -6.79, 39.30, -6.83); -- Verification SELECT count(*) FROM little_net; @@ -288,7 +288,7 @@ DROP VIEW IF EXISTS ch7_e3 ; CREATE VIEW ch7_e3 AS SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', -- source (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), -- target @@ -299,23 +299,23 @@ DROP VIEW IF EXISTS ch7_e4 ; CREATE VIEW ch7_e4 AS SELECT dijkstra.*, ways.name FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309) ) AS dijkstra LEFT JOIN ways -ON (edge = gid) ORDER BY seq; +ON (edge = id) ORDER BY seq; DROP VIEW IF EXISTS ch7_e5 ; CREATE VIEW ch7_e5 AS -SELECT dijkstra.*, ways.name, ST_AsText(ways.the_geom) +SELECT dijkstra.*, ways.name, ST_AsText(ways.geom) FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309) ) AS dijkstra LEFT JOIN ways -ON (edge = gid) ORDER BY seq; +ON (edge = id) ORDER BY seq; DROP VIEW IF EXISTS ch7_e6 ; CREATE VIEW ch7_e6 AS @@ -324,12 +324,12 @@ DROP VIEW IF EXISTS ch7_e6 ; CREATE VIEW ch7_e6 AS WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ) -SELECT dijkstra.*, ways.name, ways.the_geom AS route_geom -FROM dijkstra LEFT JOIN ways ON (edge = gid) +SELECT dijkstra.*, ways.name, ways.geom AS route_geom +FROM dijkstra LEFT JOIN ways ON (edge = id) ORDER BY seq; @@ -339,13 +339,13 @@ DROP VIEW IF EXISTS ch7_e7 ; CREATE VIEW ch7_e7 AS WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ), get_geom AS ( - SELECT dijkstra.*, ways.name, ways.the_geom AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + SELECT dijkstra.*, ways.name, ways.geom AS route_geom + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, name, cost, -- calculating the azimuth @@ -362,7 +362,7 @@ DROP VIEW IF EXISTS ch7_e8 ; CREATE VIEW ch7_e8 AS WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ), @@ -370,10 +370,10 @@ get_geom AS ( SELECT dijkstra.*, ways.name, -- adjusting directionality CASE - WHEN dijkstra.node = ways.source THEN the_geom - ELSE ST_Reverse(the_geom) + WHEN dijkstra.node = ways.source THEN geom + ELSE ST_Reverse(geom) END AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, name, cost, degrees(ST_azimuth(ST_StartPoint(route_geom), ST_EndPoint(route_geom))) AS azimuth, @@ -404,17 +404,17 @@ $BODY$ dijkstra AS ( SELECT * FROM pgr_dijkstra( -- using parameters instead of specific values - 'SELECT gid AS id, * FROM ' || $1, + 'SELECT id, * FROM ' || $1, (SELECT id FROM ways_vertices_pgr WHERE osm_id = $2), (SELECT id FROM ways_vertices_pgr WHERE osm_id = $3)) ), get_geom AS ( SELECT dijkstra.*, ways.name, CASE - WHEN dijkstra.node = ways.source THEN the_geom - ELSE ST_Reverse(the_geom) + WHEN dijkstra.node = ways.source THEN geom + ELSE ST_Reverse(geom) END AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, @@ -460,7 +460,7 @@ DROP VIEW IF EXISTS ch8_e2 ; CREATE VIEW ch8_e2 AS -- Closest osm_id in the original graph SELECT osm_id FROM ways_vertices_pgr - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- Closest osm_id in the vehicle_net graph WITH @@ -472,7 +472,7 @@ vertices AS ( SELECT target FROM vehicle_net) ) SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- Closest osm_id in the little_net graph WITH @@ -484,7 +484,7 @@ vertices AS ( SELECT target FROM little_net) ) SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- DROP FUNCTION wrk_fromAtoB(varchar, numeric, numeric, numeric, numeric); @@ -523,14 +523,14 @@ BEGIN '%1$I', -- source (SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(%2$s, %3$s), 4326) LIMIT 1), + ORDER BY geom <-> ST_SetSRID(ST_Point(%2$s, %3$s), 4326) LIMIT 1), -- target (SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(%4$s, %5$s), 4326) LIMIT 1)) + ORDER BY geom <-> ST_SetSRID(ST_Point(%4$s, %5$s), 4326) LIMIT 1)) ) SELECT seq, - dijkstra.gid, + dijkstra.id, dijkstra.name, ways.length_m/1000.0 AS length, dijkstra.cost AS the_time, diff --git a/docs/interactions/code/functions.sql b/docs/interactions/code/functions.sql index 9cf0d7e3e..a3f0cb774 100644 --- a/docs/interactions/code/functions.sql +++ b/docs/interactions/code/functions.sql @@ -17,7 +17,7 @@ ORDER BY osm_id; SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length AS cost @@ -36,7 +36,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m AS cost @@ -54,7 +54,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 AS cost @@ -73,7 +73,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -92,7 +92,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstraCost( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -110,7 +110,7 @@ FROM pgr_dijkstraCost( SELECT start_vid, sum(agg_cost) FROM pgr_dijkstraCost( ' - SELECT gid AS id, + SELECT id, source, target, length_m / 1.3 / 60 AS cost @@ -135,7 +135,7 @@ ALTER TABLE configuration DROP COLUMN IF EXISTS penalty; SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s AS cost, @@ -151,7 +151,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s AS cost, @@ -168,7 +168,7 @@ SELECT * FROM pgr_dijkstra( SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s / 3600 * 100 AS cost, @@ -202,7 +202,7 @@ UPDATE configuration SET penalty=1; SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s * penalty AS cost, @@ -232,7 +232,7 @@ IN ('primary','primary_link', SELECT * FROM pgr_dijkstra( ' - SELECT gid AS id, + SELECT id, source, target, cost_s * penalty AS cost, @@ -256,13 +256,13 @@ DROP VIEW IF EXISTS vehicle_net CASCADE; -- DROP VIEW vehicle_net CASCADE; CREATE VIEW vehicle_net AS - SELECT gid, + SELECT id, source, target, -- converting to minutes cost_s / 60 AS cost, reverse_cost_s / 60 AS reverse_cost, - the_geom + geom FROM ways JOIN configuration AS c USING (tag_id) WHERE c.tag_value NOT IN ('steps','footway','path'); @@ -278,7 +278,7 @@ SELECT count(*) FROM vehicle_net; CREATE VIEW little_net AS SELECT * FROM vehicle_net - WHERE vehicle_net.the_geom && ST_MakeEnvelope(39.27, -6.79, 39.30, -6.83); + WHERE vehicle_net.geom && ST_MakeEnvelope(39.27, -6.79, 39.30, -6.83); -- Verification SELECT count(*) FROM little_net; @@ -288,7 +288,7 @@ SELECT count(*) FROM little_net; SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', -- source (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), -- target @@ -299,23 +299,23 @@ FROM pgr_dijkstra( SELECT dijkstra.*, ways.name FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309) ) AS dijkstra LEFT JOIN ways -ON (edge = gid) ORDER BY seq; +ON (edge = id) ORDER BY seq; -SELECT dijkstra.*, ways.name, ST_AsText(ways.the_geom) +SELECT dijkstra.*, ways.name, ST_AsText(ways.geom) FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309) ) AS dijkstra LEFT JOIN ways -ON (edge = gid) ORDER BY seq; +ON (edge = id) ORDER BY seq; @@ -324,12 +324,12 @@ ON (edge = gid) ORDER BY seq; WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ) -SELECT dijkstra.*, ways.name, ways.the_geom AS route_geom -FROM dijkstra LEFT JOIN ways ON (edge = gid) +SELECT dijkstra.*, ways.name, ways.geom AS route_geom +FROM dijkstra LEFT JOIN ways ON (edge = id) ORDER BY seq; @@ -339,13 +339,13 @@ ORDER BY seq; WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ), get_geom AS ( - SELECT dijkstra.*, ways.name, ways.the_geom AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + SELECT dijkstra.*, ways.name, ways.geom AS route_geom + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, name, cost, -- calculating the azimuth @@ -362,7 +362,7 @@ ORDER BY seq; WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT gid AS id, * FROM vehicle_net', + 'SELECT id, * FROM vehicle_net', (SELECT id FROM ways_vertices_pgr WHERE osm_id = 252643343), (SELECT id FROM ways_vertices_pgr WHERE osm_id = 302057309)) ), @@ -370,10 +370,10 @@ get_geom AS ( SELECT dijkstra.*, ways.name, -- adjusting directionality CASE - WHEN dijkstra.node = ways.source THEN the_geom - ELSE ST_Reverse(the_geom) + WHEN dijkstra.node = ways.source THEN geom + ELSE ST_Reverse(geom) END AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, name, cost, degrees(ST_azimuth(ST_StartPoint(route_geom), ST_EndPoint(route_geom))) AS azimuth, @@ -404,17 +404,17 @@ $BODY$ dijkstra AS ( SELECT * FROM pgr_dijkstra( -- using parameters instead of specific values - 'SELECT gid AS id, * FROM ' || $1, + 'SELECT id, * FROM ' || $1, (SELECT id FROM ways_vertices_pgr WHERE osm_id = $2), (SELECT id FROM ways_vertices_pgr WHERE osm_id = $3)) ), get_geom AS ( SELECT dijkstra.*, ways.name, CASE - WHEN dijkstra.node = ways.source THEN the_geom - ELSE ST_Reverse(the_geom) + WHEN dijkstra.node = ways.source THEN geom + ELSE ST_Reverse(geom) END AS route_geom - FROM dijkstra JOIN ways ON (edge = gid) + FROM dijkstra JOIN ways ON (edge = id) ORDER BY seq) SELECT seq, @@ -460,7 +460,7 @@ WHERE id IN ( -- Closest osm_id in the original graph SELECT osm_id FROM ways_vertices_pgr - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- Closest osm_id in the vehicle_net graph WITH @@ -472,7 +472,7 @@ vertices AS ( SELECT target FROM vehicle_net) ) SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- Closest osm_id in the little_net graph WITH @@ -484,7 +484,7 @@ vertices AS ( SELECT target FROM little_net) ) SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; + ORDER BY geom <-> ST_SetSRID(ST_Point(39.291852, -6.811437), 4326) LIMIT 1; -- DROP FUNCTION wrk_fromAtoB(varchar, numeric, numeric, numeric, numeric); @@ -523,14 +523,14 @@ BEGIN '%1$I', -- source (SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(%2$s, %3$s), 4326) LIMIT 1), + ORDER BY geom <-> ST_SetSRID(ST_Point(%2$s, %3$s), 4326) LIMIT 1), -- target (SELECT osm_id FROM vertices - ORDER BY the_geom <-> ST_SetSRID(ST_Point(%4$s, %5$s), 4326) LIMIT 1)) + ORDER BY geom <-> ST_SetSRID(ST_Point(%4$s, %5$s), 4326) LIMIT 1)) ) SELECT seq, - dijkstra.gid, + dijkstra.id, dijkstra.name, ways.length_m/1000.0 AS length, dijkstra.cost AS the_time, diff --git a/docs/scripts/basic/data/data.sh b/docs/scripts/basic/data/data.sh index 5313cdc07..ad12b5bcb 100644 --- a/docs/scripts/basic/data/data.sh +++ b/docs/scripts/basic/data/data.sh @@ -1,5 +1,5 @@ set -e -#4.3.2 from-here +# city tables from-here psql -d city_routing -c "\d" -#4.3.2 to-here +# city tables to-here diff --git a/docs/scripts/basic/graphs/CMakeLists.txt b/docs/scripts/basic/graphs/CMakeLists.txt index 6b11410b8..6a88ecb49 100644 --- a/docs/scripts/basic/graphs/CMakeLists.txt +++ b/docs/scripts/basic/graphs/CMakeLists.txt @@ -1,56 +1,51 @@ -# Script for basic/graphs chapter -configure_file(graphs.sql graphs.sql) -configure_file(images.sql images.sql) - -set(GENERATED_FILES - configuration_structure.txt - configuration_contents.txt - configuration-used.txt +#--------------------- +# Files +#--------------------- +add_custom_target(basic_graphs_scripts) - create_vertices.txt - vertices_description.txt - selected_rows.txt - fill_columns_1.txt - fill_columns_2.txt - fill_columns_3.txt - fill_columns_4.txt - fill_columns_5.txt - fill_columns_6.txt - set_components1.txt - set_components2.txt - set_components3.txt - see_components1.txt - see_components2.txt - see_components3.txt - see_components4.txt - create_vehicle_net1.txt - create_vehicle_net2.txt - create_vehicle_net3.txt - create_taxi_net1.txt - create_taxi_net2.txt - create_taxi_net3.txt - create_walk_net1.txt - create_walk_net2.txt - create_walk_net3.txt - create_net_vertices.txt - test_view1.txt - test_view2.txt - test_view3.txt - graphs_end.txt -) +configure_file(graphs.sql graphs.sql) #---------------------------------------------- # Generating the results files #--------------------------------------------- add_custom_command( - COMMAND psql -d city_routing -f graphs.sql - COMMAND psql -d city_routing -f images.sql - OUTPUT ${GENERATED_FILES} + TARGET basic_graphs_scripts + PRE_BUILD + BYPRODUCTS + configuration_structure.txt + configuration_contents.txt + configuration_used.txt + visualize1.txt - COMMENT "running chapter graphs scripts" -) + create_vertices.txt + vertices_description.txt + selected_rows.txt + fill_columns_1.txt + fill_columns_2.txt + fill_columns_3.txt + set_components1.txt + set_components2.txt + set_components3.txt + see_components1.txt + see_components2.txt + see_components3.txt + see_components4.txt + create_vehicle_net1.txt + create_vehicle_net2.txt + create_vehicle_net3.txt + create_taxi_net1.txt + create_taxi_net2.txt + create_taxi_net3.txt + create_walk_net1.txt + create_walk_net2.txt + create_walk_net3.txt + create_net_vertices.txt + test_view1.txt + test_view2.txt + test_view3.txt + graphs_end.txt -add_custom_target(basic_graphs_scripts - DEPENDS ${GENERATED_FILES} -) + COMMAND psql -d city_routing -f graphs.sql + COMMENT "running chapter graphs scripts" + DEPENDS graphs.sql) diff --git a/docs/scripts/basic/graphs/graphs.sql b/docs/scripts/basic/graphs/graphs.sql index 44009784e..6e8e70416 100644 --- a/docs/scripts/basic/graphs/graphs.sql +++ b/docs/scripts/basic/graphs/graphs.sql @@ -21,9 +21,7 @@ ORDER BY tag_id; SELECT id, in_edges, out_edges, x, y, NULL::BIGINT osm_id, NULL::BIGINT component, geom INTO vertices -FROM pgr_extractVertices( - 'SELECT gid AS id, source, target - FROM ways ORDER BY id'); +FROM pgr_extractVertices('SELECT id, source, target FROM ways ORDER BY id'); \o vertices_description.txt \dS+ vertices @@ -33,32 +31,24 @@ SELECT * FROM vertices Limit 10; \o fill_columns_1.txt SELECT count(*) FROM vertices WHERE geom IS NULL; \o fill_columns_2.txt -UPDATE vertices SET (geom, osm_id) = (ST_startPoint(the_geom), source_osm) -FROM ways WHERE source = id; +with get_data as (select source, source_osm, ST_startPoint(geom) as pt from ways +union all +select target, target_osm, ST_endPoint(geom) from ways +) update vertices set +(geom, osm_id, x, y) = (ST_startPoint(pt), source_osm, st_x(pt), st_y(pt)) FROM get_data WHERE source = id; \o fill_columns_3.txt SELECT count(*) FROM vertices WHERE geom IS NULL; -\o fill_columns_4.txt -UPDATE vertices SET (geom, osm_id) = (ST_endPoint(the_geom), target_osm) -FROM ways WHERE geom IS NULL AND target = id; -\o fill_columns_5.txt -SELECT count(*) FROM vertices WHERE geom IS NULL; -\o fill_columns_6.txt -UPDATE vertices set (x,y) = (ST_X(geom), ST_Y(geom)); - \o set_components1.txt ALTER TABLE ways ADD COLUMN component BIGINT; - \o set_components2.txt UPDATE vertices AS v SET component = c.component FROM ( SELECT seq, component, node - FROM pgr_connectedComponents( - 'SELECT gid as id, source, target, cost, reverse_cost FROM ways' -)) AS c + FROM pgr_connectedComponents('SELECT id, source, target, cost, reverse_cost FROM ways') +) AS c WHERE v.id = c.node; \o set_components3.txt - UPDATE ways SET component = v.component FROM (SELECT id, component FROM vertices) AS v WHERE source = v.id; @@ -82,19 +72,18 @@ SELECT component FROM all_components WHERE count = (SELECT max FROM max_componen CREATE OR REPLACE VIEW vehicle_net AS WITH -all_components AS (SELECT component, count(*) FROM ways GROUP BY component), -- line 6 +all_components AS (SELECT component, count(*) FROM ways GROUP BY component), max_component AS (SELECT max(count) from all_components), the_component AS ( SELECT component FROM all_components WHERE count = (SELECT max FROM max_component)) SELECT - gid AS id, - source, target, + w.id, source, target, cost_s AS cost, reverse_cost_s AS reverse_cost, - name, length_m AS length, tag_id, the_geom AS geom -FROM ways JOIN the_component USING (component) JOIN configuration USING (tag_id) -WHERE tag_value NOT IN ('pedestrian', 'steps','footway','path','cycleway'); -- line 18 + name, length_m AS length, tag_id, geom AS geom +FROM ways w JOIN the_component USING (component) JOIN configuration USING (tag_id) +WHERE tag_value NOT IN ('pedestrian', 'steps','footway','path','cycleway'); \o create_vehicle_net2.txt SELECT count(*) FROM ways; @@ -125,17 +114,18 @@ SELECT count(*) FROM taxi_net; CREATE MATERIALIZED VIEW walk_net AS WITH -allc AS (SELECT component, count(*) FROM ways GROUP BY component), -maxcount AS (SELECT max(count) from allc), -the_component AS (SELECT component FROM allc WHERE count = (SELECT max FROM maxcount)) +all_components AS (SELECT component, count(*) FROM ways GROUP BY component), +max_component AS (SELECT max(count) from all_components), +the_component AS ( + SELECT component FROM all_components + WHERE count = (SELECT max FROM max_component)) SELECT - gid AS id, - source, target, + w.id, source, target, length_m / 2.0 AS cost, length_m / 2.0 AS reverse_cost, - name, length_m AS length, the_geom AS geom -FROM ways JOIN the_component USING (component) JOIN configuration USING (tag_id) -WHERE tag_value IN ('pedestrian', 'steps','footway','path','cycleway'); -- line 18 + name, length_m AS length, geom +FROM ways w JOIN the_component USING (component) JOIN configuration USING (tag_id) +WHERE tag_value IN ('residential','pedestrian', 'steps','footway','path','cycleway'); \o create_walk_net2.txt @@ -181,5 +171,16 @@ FROM pgr_dijkstraCostMatrix( 'SELECT * FROM walk_net', ARRAY[@ID_1@, @ID_2@, @ID_3@, @ID_4@, @ID_5@]); +\o visualize1.txt +CREATE OR REPLACE VIEW vehicle_costmatrix AS +SELECT +row_number() over() as id, +ST_makeline(v1.geom, v2.geom) AS geom, +'('||start_vid||', '||end_vid||') t= ' || round(agg_cost::NUMERIC, 2) AS name +FROM pgr_dijkstraCostMatrix( + 'SELECT * FROM vehicle_net', + ARRAY[@ID_1@, @ID_2@, @ID_3@, @ID_4@, @ID_5@]) +JOIN vertices v1 ON (start_vid=v1.id) +JOIN vertices v2 ON (end_vid=v2.id); \o graphs_end.txt \o diff --git a/docs/scripts/basic/graphs/images.sql b/docs/scripts/basic/graphs/images.sql deleted file mode 100644 index 7645a317f..000000000 --- a/docs/scripts/basic/graphs/images.sql +++ /dev/null @@ -1,10 +0,0 @@ -DROP TABLE IF EXISTS costMatrix_png; - -SELECT row_number() over() as gid, ST_makeline(v1.geom, v2.geom) AS geom, -'('||start_vid||', '||end_vid||') t= ' || round(agg_cost::NUMERIC, 2) AS name -INTO costMatrix_png -FROM pgr_dijkstraCostMatrix( - 'SELECT * FROM vehicle_net', - ARRAY[@ID_1@, @ID_2@, @ID_3@, @ID_4@, @ID_5@]) -JOIN vertices v1 ON (start_vid=v1.id) -JOIN vertices v2 ON (end_vid=v2.id); diff --git a/docs/scripts/basic/pedestrian/CMakeLists.txt b/docs/scripts/basic/pedestrian/CMakeLists.txt index 30ade5990..39dd5670f 100644 --- a/docs/scripts/basic/pedestrian/CMakeLists.txt +++ b/docs/scripts/basic/pedestrian/CMakeLists.txt @@ -1,31 +1,29 @@ -# Script for basic/graphs chapter -configure_file(pedestrian.sql pedestrian.sql) -configure_file(images.sql images.sql) +#--------------------- +# Files +#--------------------- +add_custom_target(basic_pedestrian_scripts) -set(GENERATED_FILES - combinations.txt - get_id.txt - many_to_many.txt - many_to_one.txt - note_1.txt - one_to_many.txt - one_to_one.txt - dijkstracost.txt -) +configure_file(pedestrian.sql pedestrian.sql) #---------------------------------------------- # Generating the results files #--------------------------------------------- add_custom_command( - COMMAND psql -d city_routing -f pedestrian.sql - COMMAND psql -d city_routing -f images.sql - OUTPUT ${GENERATED_FILES} + TARGET basic_pedestrian_scripts + PRE_BUILD + BYPRODUCTS + combinations.txt + get_id.txt + many_to_many.txt + many_to_one.txt + note_1.txt + one_to_many.txt + one_to_one.txt + one_to_one_view.txt + dijkstracost.txt + stars.txt - DEPENDS pedestrian.sql images.sql + COMMAND psql -d city_routing -f pedestrian.sql COMMENT "running chapter pedestrian scripts" -) - -add_custom_target(basic_pedestrian_scripts - DEPENDS ${GENERATED_FILES} -) + DEPENDS pedestrian.sql) diff --git a/docs/scripts/basic/pedestrian/images.sql b/docs/scripts/basic/pedestrian/images.sql deleted file mode 100644 index 7d13565f0..000000000 --- a/docs/scripts/basic/pedestrian/images.sql +++ /dev/null @@ -1,89 +0,0 @@ -CREATE OR REPLACE VIEW stars AS -SELECT osm_id, id, geom, -CASE - WHEN osm_id = @OSMID_1@ THEN '@PLACE_1@' - WHEN osm_id = @OSMID_2@ THEN '@PLACE_2@' - WHEN osm_id = @OSMID_3@ THEN '@PLACE_3@' - WHEN osm_id = @OSMID_4@ THEN '@PLACE_4@' - WHEN osm_id = @OSMID_5@ THEN '@PLACE_5@' -END AS name -FROM vertices -WHERE osm_id IN (@OSMID_1@, @OSMID_2@, @OSMID_3@, @OSMID_4@, @OSMID_5@) -ORDER BY osm_id; - -CREATE OR REPLACE VIEW pedestrian_one_to_one AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - length AS cost - FROM walk_net', - @ID_1@, - @ID_3@, - directed := false) -) -SELECT seq, start_vid, end_vid, geom AS geom FROM dijkstra JOIN walk_net ON(edge = id); - -CREATE OR REPLACE VIEW pedestrian_many_to_one AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - length/1000 AS cost - FROM walk_net', - ARRAY[@ID_1@, @ID_2@], - @ID_3@, - directed := false) -) -SELECT seq, start_vid, end_vid, geom AS geom FROM dijkstra JOIN walk_net ON(edge = id); - -CREATE OR REPLACE VIEW pedestrian_one_to_many AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - cost - FROM walk_net', - @ID_3@, - ARRAY[@ID_1@, @ID_2@], - directed := false) -) -SELECT seq, start_vid, end_vid, geom AS geom FROM dijkstra JOIN walk_net ON(edge = id); - -CREATE OR REPLACE VIEW pedestrian_many_to_many AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - length / 1.3 / 60 AS cost - FROM walk_net', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -) -SELECT seq, start_vid, end_vid, geom AS geom FROM dijkstra JOIN walk_net ON(edge = id); - -CREATE OR REPLACE VIEW pedestrian_combinations AS -WITH dijkstra AS ( - SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - length / 1.3 / 60 AS cost - FROM walk_net', - 'SELECT * FROM (VALUES - (@ID_1@, @ID_4@), - (@ID_2@, @ID_5@)) - AS combinations (source, target)', - directed := false) -) -SELECT seq, start_vid, end_vid, geom AS geom FROM dijkstra JOIN walk_net ON(edge = id); - -CREATE OR REPLACE VIEW pedestrian_dijkstraCost AS -WITH dijkstra AS ( -SELECT start_vid, end_vid, round(agg_cost::numeric,2) AS agg_cost -FROM pgr_dijkstraCost( - 'SELECT id, source, target, - length / 1.3 / 60 AS cost - FROM walk_net', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -) -SELECT row_number() over() AS gid, start_vid, end_vid, agg_cost, ST_MakeLine(v1.geom, v2.geom) AS geom FROM dijkstra -JOIN vertices AS v1 ON (start_vid = v1.id) -JOIN vertices AS v2 ON (end_vid = v2.id); diff --git a/docs/scripts/basic/pedestrian/pedestrian.sql b/docs/scripts/basic/pedestrian/pedestrian.sql index e6985de52..b235bdab4 100644 --- a/docs/scripts/basic/pedestrian/pedestrian.sql +++ b/docs/scripts/basic/pedestrian/pedestrian.sql @@ -1,9 +1,27 @@ + \o get_id.txt SELECT osm_id, id FROM vertices WHERE osm_id IN (@OSMID_1@, @OSMID_2@, @OSMID_3@, @OSMID_4@, @OSMID_5@) ORDER BY osm_id; +\o stars.txt + +CREATE OR REPLACE VIEW stars AS +SELECT id, + CASE + WHEN osm_id = @OSMID_1@ THEN '@PLACE_1@' + WHEN osm_id = @OSMID_2@ THEN '@PLACE_2@' + WHEN osm_id = @OSMID_3@ THEN '@PLACE_3@' + WHEN osm_id = @OSMID_4@ THEN '@PLACE_4@' + WHEN osm_id = @OSMID_5@ THEN '@PLACE_5@' + END AS name, + osm_id, geom +FROM vertices +WHERE osm_id IN (@OSMID_1@, @OSMID_2@, @OSMID_3@, @OSMID_4@, @OSMID_5@) +ORDER BY id; + +SELECT id, name FROM stars; \o one_to_one.txt SELECT * FROM pgr_dijkstra( @@ -14,111 +32,126 @@ SELECT * FROM pgr_dijkstra( @ID_3@, directed := false); +\o one_to_one_view.txt + +CREATE OR REPLACE VIEW pedestrian_one_to_one AS +WITH dijkstra AS ( +SELECT * FROM pgr_dijkstra( + 'SELECT id, source, target, + length AS cost + FROM walk_net', + @ID_1@, + @ID_3@, + directed := false) +) +SELECT dijkstra.*, geom FROM dijkstra +JOIN walk_net ON(edge = id) +ORDER BY seq; + +SELECT seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM pedestrian_one_to_one; + \o many_to_one.txt +CREATE OR REPLACE VIEW pedestrian_many_to_one AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, length/1000 AS cost FROM walk_net', ARRAY[@ID_1@, @ID_2@], @ID_3@, - directed := false); + directed := false) +) +SELECT dijkstra.*, geom FROM dijkstra +LEFT JOIN walk_net ON(edge = id) +ORDER BY seq; + +SELECT seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM pedestrian_many_to_one; \o one_to_many.txt +CREATE OR REPLACE VIEW pedestrian_one_to_many AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, cost FROM walk_net', @ID_3@, ARRAY[@ID_1@, @ID_2@], - directed := false); + directed := false) +) +SELECT dijkstra.*, geom FROM dijkstra +LEFT JOIN walk_net ON(edge = id) +ORDER BY seq; + +SELECT seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM pedestrian_one_to_many; \o many_to_many.txt +CREATE OR REPLACE VIEW pedestrian_many_to_many AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, length / 1.3 / 60 AS cost FROM walk_net', ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false); + ARRAY[@ID_3@, @ID_5@], + directed := false) +) +SELECT dijkstra.*, geom FROM dijkstra +LEFT JOIN walk_net ON(edge = id) +ORDER BY seq; + +SELECT seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM pedestrian_many_to_many; \o combinations.txt +CREATE OR REPLACE VIEW pedestrian_combinations AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, length / 1.3 / 60 AS cost FROM walk_net', 'SELECT * FROM (VALUES - (@ID_1@, @ID_4@), + (@ID_1@, @ID_3@), (@ID_2@, @ID_5@)) AS combinations (source, target)', - directed := false); + directed := false) +) +SELECT dijkstra.*, geom FROM dijkstra +LEFT JOIN walk_net ON(edge = id) +ORDER BY seq; + +SELECT seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM pedestrian_combinations; \o dijkstracost.txt -SELECT * FROM pgr_dijkstraCost( +CREATE OR REPLACE VIEW pedestrian_cost_many_to_many AS +WITH dijkstra AS ( +SELECT * +FROM pgr_dijkstraCost( 'SELECT id, source, target, length / 1.3 / 60 AS cost FROM walk_net', ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false); + ARRAY[@ID_3@, @ID_5@], + directed := false) +) +SELECT row_number() over() AS id, + start_vid, end_vid, agg_cost, ST_MakeLine(v1.geom, v2.geom) AS geom +FROM dijkstra +JOIN vertices AS v1 ON (start_vid = v1.id) +JOIN vertices AS v2 ON (end_vid = v2.id); + +SELECT start_vid, end_vid, agg_cost +FROM pedestrian_cost_many_to_many; \o note_1.txt -\t -SELECT 'Inspecting the results, looking for totals (edge = -1):'; - -SELECT '- From @ID_1@ to vertex @ID_4@ takes ' || round(agg_cost::numeric, 2) || ' minutes (seq = ' || seq || ')' -FROM pgr_dijkstra( - ' - SELECT id, - source, - target, - length / 1.3 / 60 AS cost - FROM walk_net - ', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -WHERE edge = -1 AND start_vid = @ID_1@ AND end_vid = @ID_4@; -SELECT '- From @ID_1@ to vertex @ID_5@ takes ' || round(agg_cost::numeric, 2) || ' minutes (seq = ' || seq || ')' -FROM pgr_dijkstra( - ' - SELECT id, - source, - target, - length / 1.3 / 60 AS cost - FROM walk_net - ', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -WHERE edge = -1 AND start_vid = @ID_1@ AND end_vid = @ID_5@; -SELECT '- From @ID_2@ to vertex @ID_4@ takes ' || round(agg_cost::numeric, 2) || ' minutes (seq = ' || seq || ')' -FROM pgr_dijkstra( - ' - SELECT id, - source, - target, - length / 1.3 / 60 AS cost - FROM walk_net - ', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -WHERE edge = -1 AND start_vid = @ID_2@ AND end_vid = @ID_4@; -SELECT '- From @ID_2@ to vertex @ID_5@ takes ' || round(agg_cost::numeric, 2) || ' minutes (seq = ' || seq || ')' -FROM pgr_dijkstra( - ' - SELECT id, - source, - target, - length / 1.3 / 60 AS cost - FROM walk_net - ', - ARRAY[@ID_1@, @ID_2@], - ARRAY[@ID_4@, @ID_5@], - directed := false) -WHERE edge = -1 AND start_vid = @ID_2@ AND end_vid = @ID_5@; +SELECT start_vid, end_vid, agg_cost +FROM pedestrian_many_to_many +WHERE edge = -1; diff --git a/docs/scripts/basic/vehicles/CMakeLists.txt b/docs/scripts/basic/vehicles/CMakeLists.txt index d2de8e7f9..ec57e3777 100644 --- a/docs/scripts/basic/vehicles/CMakeLists.txt +++ b/docs/scripts/basic/vehicles/CMakeLists.txt @@ -4,7 +4,6 @@ add_custom_target(basic_vehicles_scripts) # Files #--------------------- configure_file(vehicles.sql vehicles.sql) -configure_file(images.sql images.sql) #---------------------------------------------- # Generating the results files @@ -29,6 +28,5 @@ add_custom_command( vehicles_end.txt COMMAND psql -d city_routing -f vehicles.sql - COMMAND psql -d city_routing -f images.sql COMMENT "running vehicles scripts" - DEPENDS vehicles.sql images.sql) + DEPENDS vehicles.sql) diff --git a/docs/scripts/basic/vehicles/images.sql b/docs/scripts/basic/vehicles/images.sql index a5dd573b2..8a6995345 100644 --- a/docs/scripts/basic/vehicles/images.sql +++ b/docs/scripts/basic/vehicles/images.sql @@ -1,36 +1,6 @@ -CREATE OR REPLACE VIEW vehicle_route_going_png AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, cost, reverse_cost - FROM vehicle_net', - @ID_1@, @ID_3@, - directed := true) -) -SELECT seq, start_vid, end_vid, geom FROM dijkstra JOIN vehicle_net ON(edge = id); -CREATE OR REPLACE VIEW vehicle_route_coming_png AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, cost, reverse_cost - FROM vehicle_net', - @ID_3@, @ID_1@, - directed := true) -) -SELECT seq, start_vid, end_vid, geom FROM dijkstra JOIN vehicle_net ON(edge = id); - -CREATE OR REPLACE VIEW vehicle_time_is_money_png AS -WITH dijkstra AS ( -SELECT * FROM pgr_dijkstra( - 'SELECT id, source, target, - cost / 3600 * 100 AS cost, - reverse_cost / 3600 * 100 AS reverse_cost - FROM taxi_net', - @ID_3@, @ID_1@) -) -SELECT seq, start_vid, end_vid, geom FROM dijkstra JOIN taxi_net ON(edge = id); - UPDATE configuration SET penalty=1; CREATE OR REPLACE VIEW vehicle_use_penalty_png AS @@ -52,6 +22,9 @@ WHERE tag_key IN ('cycleway') OR tag_value IN ('cycleway'); -- Penalizing with 5 times the costs the unknown UPDATE configuration SET penalty=5 WHERE tag_value IN ('unclassified'); +-- Penalizing with 3 times the costs of residential roads +UPDATE configuration SET penalty=5 WHERE tag_value IN ('residential'); + -- Encuraging the use of "fast" roads UPDATE configuration SET penalty=0.5 WHERE tag_value IN ('tertiary'); UPDATE configuration SET penalty=0.3 @@ -76,42 +49,42 @@ SELECT seq, geom AS geom FROM dijkstra JOIN vehicle_net ON(edge = id); CREATE OR REPLACE VIEW vehicle_penalty_routes AS WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - ' SELECT gid AS id, source, target, cost_s * penalty AS cost, reverse_cost_s * penalty AS reverse_cost + ' SELECT id, source, target, cost_s * penalty AS cost, reverse_cost_s * penalty AS reverse_cost FROM ways JOIN configuration USING (tag_id) ', -ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_5@], -ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_5@]) +ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_3@], +ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_3@]) ) SELECT seq, CASE WHEN start_vid = @ID_1@ THEN '@PLACE_1@' WHEN start_vid = @ID_2@ THEN '@PLACE_2@' WHEN start_vid = @ID_3@ THEN '@PLACE_3@' WHEN start_vid = @ID_4@ THEN '@PLACE_4@' - WHEN start_vid = @ID_5@ THEN '@PLACE_5@' END + WHEN start_vid = @ID_3@ THEN '@PLACE_5@' END ||','|| CASE WHEN end_vid = @ID_1@ THEN '@PLACE_1@' WHEN end_vid = @ID_2@ THEN '@PLACE_2@' WHEN end_vid = @ID_3@ THEN '@PLACE_3@' WHEN end_vid = @ID_4@ THEN '@PLACE_4@' - WHEN end_vid = @ID_5@ THEN '@PLACE_5@' END + WHEN end_vid = @ID_3@ THEN '@PLACE_5@' END AS name, - start_vid, end_vid, the_geom AS geom -FROM dijkstra JOIN ways ON(edge = gid); + start_vid, end_vid, geom AS geom +FROM dijkstra JOIN ways ON(edge = id); CREATE OR REPLACE VIEW vehicle_no_penalty_routes AS WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - ' SELECT gid AS id, source, target, cost_s AS cost, reverse_cost_s AS reverse_cost FROM ways ', -ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_5@], -ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_5@]) + ' SELECT id, source, target, cost_s AS cost, reverse_cost_s AS reverse_cost FROM ways ', +ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_3@], +ARRAY[@ID_1@,@ID_2@,@ID_3@,@ID_4@, @ID_3@]) ) SELECT seq, CASE WHEN start_vid = @ID_1@ THEN '@PLACE_1@' WHEN start_vid = @ID_2@ THEN '@PLACE_2@' WHEN start_vid = @ID_3@ THEN '@PLACE_3@' WHEN start_vid = @ID_4@ THEN '@PLACE_4@' - WHEN start_vid = @ID_5@ THEN '@PLACE_5@' END + WHEN start_vid = @ID_3@ THEN '@PLACE_5@' END ||','|| CASE WHEN end_vid = @ID_1@ THEN '@PLACE_1@' WHEN end_vid = @ID_2@ THEN '@PLACE_2@' WHEN end_vid = @ID_3@ THEN '@PLACE_3@' WHEN end_vid = @ID_4@ THEN '@PLACE_4@' - WHEN end_vid = @ID_5@ THEN '@PLACE_5@' END + WHEN end_vid = @ID_3@ THEN '@PLACE_5@' END AS name, - start_vid, end_vid, the_geom AS geom -FROM dijkstra JOIN ways ON(edge = gid); + start_vid, end_vid, geom AS geom +FROM dijkstra JOIN ways ON(edge = id); CREATE OR REPLACE VIEW pedestrian_only_roads AS SELECT * FROM ways where tag_id in (119, 122, 114, 118); diff --git a/docs/scripts/basic/vehicles/vehicles.sql b/docs/scripts/basic/vehicles/vehicles.sql index ddd11c0e0..7e2926ea8 100644 --- a/docs/scripts/basic/vehicles/vehicles.sql +++ b/docs/scripts/basic/vehicles/vehicles.sql @@ -12,43 +12,91 @@ WHERE reverse_cost < 0; \o route_going.txt +CREATE OR REPLACE VIEW vehicle_route_going AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, cost, reverse_cost FROM vehicle_net', - @ID_1@, @ID_3@, - directed := true); - + @ID_1@, @ID_5@, + directed := true) +) +SELECT dijkstra.*, geom +FROM dijkstra +LEFT JOIN vehicle_net ON(edge = id); + +SELECT seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM vehicle_route_going; \o route_coming.txt +CREATE OR REPLACE VIEW vehicle_route_coming AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, cost, reverse_cost FROM vehicle_net', - @ID_3@, @ID_1@, - directed := true); + @ID_5@, @ID_1@, + directed := true) +) +SELECT dijkstra.*, geom +FROM dijkstra +LEFT JOIN vehicle_net ON(edge = id); + +SELECT seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM vehicle_route_coming; \o time_is_money.txt +CREATE OR REPLACE VIEW vehicle_time_is_money AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( 'SELECT id, source, target, cost / 3600 * 100 AS cost, reverse_cost / 3600 * 100 AS reverse_cost - FROM taxi_net', - @ID_3@, @ID_1@); + FROM vehicle_net', + @ID_5@, @ID_1@) +) +SELECT dijkstra.*, geom +FROM dijkstra +LEFT JOIN vehicle_net ON(edge = id); + +SELECT seq, start_vid, end_vid, node, edge, cost, agg_cost +FROM vehicle_time_is_money; \o add_penalty.txt ALTER TABLE configuration ADD COLUMN IF NOT EXISTS penalty FLOAT DEFAULT 1.0; +UPDATE configuration SET penalty = 1.0; + +\o create_penalized_view.txt + +CREATE OR REPLACE VIEW vehicle_penalized_net AS +SELECT v.id, source, target, + CASE WHEN cost <= 0 THEN -1 ELSE cost * penalty END AS cost, + CASE WHEN reverse_cost <= 0 THEN -1 ELSE reverse_cost * penalty END AS reverse_cost, + name, length, penalty, geom +FROM vehicle_net v +JOIN configuration c USING(tag_id) +ORDER BY id; \o use_penalty.txt +CREATE OR REPLACE VIEW vehicle_penalized_route AS +WITH dijkstra AS ( SELECT * FROM pgr_dijkstra( - 'SELECT v.id, source, target, - CASE WHEN cost <= 0 THEN -1 ELSE cost * penalty END AS cost, - CASE WHEN reverse_cost <= 0 THEN -1 ELSE reverse_cost * penalty END AS reverse_cost - FROM vehicle_net AS v JOIN configuration - USING (tag_id)', - @ID_3@, @ID_1@); + 'SELECT * FROM vehicle_penalized_net', + @ID_5@, @ID_1@) +) +SELECT dijkstra.*, penalty, geom +FROM dijkstra +LEFT JOIN vehicle_penalized_net ON(edge = id); + +SELECT seq, start_vid, end_vid, node, edge, cost, agg_cost, penalty +FROM vehicle_penalized_route; +\o same_result_as_comming.txt +SELECT * FROM vehicle_route_coming +WHERE edge = -1; +SELECT * FROM vehicle_penalized_route +WHERE edge = -1; \o update_penalty.txt @@ -68,45 +116,17 @@ WHERE tag_value IN ( 'motorway','motorway_junction','motorway_link', 'secondary'); -\o get_penalized_route.txt - -SELECT * FROM pgr_dijkstra( - 'SELECT v.id, source, target, - CASE WHEN cost <= 0 THEN -1 ELSE cost * penalty END AS cost, - CASE WHEN reverse_cost <= 0 THEN -1 ELSE reverse_cost * penalty END AS reverse_cost - FROM vehicle_net AS v JOIN configuration - USING (tag_id)', - @ID_3@, @ID_1@); +\o show_penalties.txt -\o time_in_secs.txt +SELECT tag_id, tag_key, tag_value, penalty +FROM configuration ORDER BY tag_id; -SELECT * FROM pgr_dijkstra( - $$ - SELECT id, source, target, cost, reverse_cost - FROM ( - -- Nested call - SELECT edge AS id FROM pgr_dijkstra( - 'SELECT v.id, source, target, - CASE WHEN cost <= 0 THEN -1 ELSE cost * penalty END AS cost, - CASE WHEN reverse_cost <= 0 THEN -1 ELSE reverse_cost * penalty END AS reverse_cost - FROM vehicle_net AS v JOIN configuration - USING (tag_id)', - @ID_3@, @ID_1@) ) AS edges_in_route - JOIN vehicle_net USING (id) - $$, - @ID_3@, @ID_1@); +\o get_penalized_route.txt -\o penalized_view.txt +SELECT seq, start_vid, end_vid, node, edge, cost, agg_cost, penalty +FROM vehicle_penalized_route; -CREATE OR REPLACE VIEW penalized AS -SELECT - v.id, source, target, - CASE WHEN cost <= 0 THEN -1 ELSE cost * penalty END AS cost, - CASE WHEN reverse_cost <= 0 THEN -1 ELSE reverse_cost * penalty END AS reverse_cost -FROM vehicle_net AS v JOIN configuration -USING (tag_id); - -\o using_view.txt +\o time_in_secs.txt SELECT * FROM pgr_dijkstra( $$ @@ -114,12 +134,11 @@ SELECT * FROM pgr_dijkstra( FROM ( -- Nested call SELECT edge AS id FROM pgr_dijkstra( - 'SELECT id, source, target, cost, reverse_cost - FROM penalized', - @ID_3@, @ID_1@) ) AS edges_in_route + 'SELECT * FROM vehicle_penalized_net', + @ID_5@, @ID_1@) ) AS edges_in_route JOIN vehicle_net USING (id) $$, - @ID_3@, @ID_1@); + @ID_5@, @ID_1@); \o vehicles_end.txt \o diff --git a/docs/scripts/get_data/get_all_data.sh b/docs/scripts/get_data/get_all_data.sh index 1f026bce2..3af80639d 100755 --- a/docs/scripts/get_data/get_all_data.sh +++ b/docs/scripts/get_data/get_all_data.sh @@ -1,11 +1,15 @@ #!/bin/bash set -e -# 4.2.2 from-here +#CITY="@PGR_WORKSHOP_CITY_FILE@" +#wget -N --progress=dot:mega "https://download.osgeo.org/livedvd/17/osm/@PGR_WORKSHOP_CITY_FILE@.osm.bz2" +#bunzip2 -f "@PGR_WORKSHOP_CITY_FILE@.osm.bz2" + +# city from-here CITY="@PGR_WORKSHOP_CITY_FILE@" -wget -N --progress=dot:mega "https://download.osgeo.org/livedvd/17/osm/@PGR_WORKSHOP_CITY_FILE@.osm.bz2" +wget -N --progress=dot:mega "https://download.osgeo.org/pgrouting/workshops/@PGR_WORKSHOP_CITY_FILE@.osm.bz2" bunzip2 -f "@PGR_WORKSHOP_CITY_FILE@.osm.bz2" -# 4.2.2 to-here +# city to-here # mumbai data from-here wget -N --progress=dot:mega "https://download.osgeo.org/pgrouting/workshops/mumbai.osm.bz2" diff --git a/docs/scripts/get_data/process_osgeolive_data.sh b/docs/scripts/get_data/process_osgeolive_data.sh index 29ea33118..0841d63b0 100755 --- a/docs/scripts/get_data/process_osgeolive_data.sh +++ b/docs/scripts/get_data/process_osgeolive_data.sh @@ -4,33 +4,27 @@ dropdb --if-exists city_routing dropdb --if-exists bangladesh dropdb --if-exists mumbai -echo 4.1.1 from-here +# create city_routing -# Create the database createdb city_routing -# login as user "user" -psql city_routing << EOF +# connect city_routing --- add PostGIS functions -CREATE EXTENSION postgis; +psql city_routing << EOF --- add pgRouting functions -CREATE EXTENSION pgrouting; +CREATE EXTENSION pgrouting CASCADE; -- Inspect the pgRouting installation \dx+ pgrouting -- View pgRouting version -SELECT pgr_version(); +SELECT pgr_full_version(); EOF -echo 4.1.1 to-here - psql -c 'DROP ROLE IF EXISTS "user"; CREATE ROLE "user" SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN PASSWORD $$user$$;' -d city_routing -echo 4.3.1 from-here +echo import city from-here @Osm2pgrouting_EXECUTABLE@ \ -f "@PGR_WORKSHOP_CITY_FILE@.osm" \ -c "@Osm2pgrouting_mapconfig@" \ @@ -38,8 +32,4 @@ echo 4.3.1 from-here -U user \ -W user \ --clean -echo 4.3.1 to-here - -echo remove_faulty_ways_start -psql -c 'DELETE FROM ways WHERE length_m IS NULL;' -d city_routing -echo remove_faulty_ways_end +echo import city to-here diff --git a/docs/scripts/un_sdg/sdg11/all_exercises_sdg11.sql b/docs/scripts/un_sdg/sdg11/all_exercises_sdg11.sql index de23bea73..ff4fd7a2a 100644 --- a/docs/scripts/un_sdg/sdg11/all_exercises_sdg11.sql +++ b/docs/scripts/un_sdg/sdg11/all_exercises_sdg11.sql @@ -45,16 +45,16 @@ DELETE FROM waterways_ways WHERE osm_id = 815893446; SELECT * INTO waterways.waterways_vertices FROM pgr_extractVertices( - 'SELECT gid AS id, source, target + 'SELECT id, source, target FROM waterways.waterways_ways ORDER BY id'); \o only_connected2.txt -UPDATE waterways_vertices SET geom = ST_startPoint(the_geom) -FROM waterways_ways WHERE source = id; +UPDATE waterways_vertices v SET geom = ST_startPoint(w.geom) +FROM waterways_ways w WHERE source = v.id; -UPDATE waterways_vertices SET geom = ST_endPoint(the_geom) -FROM waterways_ways WHERE geom IS NULL AND target = id; +UPDATE waterways_vertices v SET geom = ST_endPoint(w.geom) +FROM waterways_ways w WHERE v.geom IS NULL AND target = v.id; UPDATE waterways_vertices set (x,y) = (ST_X(geom), ST_Y(geom)); @@ -68,7 +68,7 @@ ALTER TABLE waterways_vertices ADD COLUMN component BIGINT; UPDATE waterways_vertices SET component = c.component FROM ( SELECT * FROM pgr_connectedComponents( - 'SELECT gid as id, source, target, cost, reverse_cost FROM waterways_ways') + 'SELECT id, source, target, cost, reverse_cost FROM waterways_ways') ) AS c WHERE id = node; @@ -90,8 +90,8 @@ LANGUAGE SQL; \o exercise_11.txt SELECT DISTINCT component -FROM bangladesh JOIN waterways.waterways_ways -ON (ST_Intersects(the_geom, get_city_buffer(5))); +FROM bangladesh JOIN waterways.waterways_ways w +ON (ST_Intersects(w.geom, get_city_buffer(5))); \o get_rain_zone1.txt @@ -101,8 +101,8 @@ ADD COLUMN rain_zone geometry; \o get_rain_zone2.txt UPDATE waterways.waterways_ways -SET rain_zone = ST_Buffer((the_geom),0.005) -WHERE ST_Intersects(the_geom, get_city_buffer(5)); +SET rain_zone = ST_Buffer((geom),0.005) +WHERE ST_Intersects(geom, get_city_buffer(5)); \o exercise_13.txt -- Combining mutliple rain zones SELECT ST_Union(rain_zone) AS Combined_Rain_Zone diff --git a/docs/scripts/un_sdg/sdg3/all_exercises_sdg3.sql b/docs/scripts/un_sdg/sdg3/all_exercises_sdg3.sql index ff12462d0..6211da0d5 100644 --- a/docs/scripts/un_sdg/sdg3/all_exercises_sdg3.sql +++ b/docs/scripts/un_sdg/sdg3/all_exercises_sdg3.sql @@ -31,11 +31,11 @@ SELECT AddGeometryColumn('buildings','buildings_ways','poly_geom',4326,'POLYGON' \dS+ buildings_ways \o exercise_7.txt DELETE FROM buildings_ways -WHERE ST_NumPoints(the_geom) < 4 -OR ST_IsClosed(the_geom) = FALSE; +WHERE ST_NumPoints(geom) < 4 +OR ST_IsClosed(geom) = FALSE; \o exercise_8.txt UPDATE buildings_ways -SET poly_geom = ST_MakePolygon(the_geom); +SET poly_geom = ST_MakePolygon(geom); \o add_area_col.txt ALTER TABLE buildings_ways ADD COLUMN area INTEGER; @@ -85,16 +85,16 @@ SET population = population(tag_id,area); SELECT * INTO roads.roads_vertices FROM pgr_extractVertices( - 'SELECT gid AS id, source, target + 'SELECT id, source, target FROM roads.roads_ways ORDER BY id'); \o only_connected2.txt -UPDATE roads_vertices SET geom = ST_startPoint(the_geom) -FROM roads_ways WHERE source = id; +UPDATE roads_vertices v SET geom = ST_startPoint(w.geom) +FROM roads_ways w WHERE source = v.id; -UPDATE roads_vertices SET geom = ST_endPoint(the_geom) -FROM roads_ways WHERE geom IS NULL AND target = id; +UPDATE roads_vertices v SET geom = ST_endPoint(w.geom) +FROM roads_ways w WHERE v.geom IS NULL AND target = v.id; UPDATE roads_vertices set (x,y) = (ST_X(geom), ST_Y(geom)); @@ -108,7 +108,7 @@ ALTER TABLE roads_vertices ADD COLUMN component BIGINT; UPDATE roads_vertices SET component = c.component FROM ( SELECT * FROM pgr_connectedComponents( - 'SELECT gid as id, source, target, cost, reverse_cost FROM roads_ways') + 'SELECT id, source, target, cost, reverse_cost FROM roads_ways') ) AS c WHERE id = node; @@ -157,12 +157,12 @@ SELECT closest_vertex(poly_geom) FROM buildings_ways; \o prepare_edges.txt PREPARE edges AS -SELECT gid as id,source,target, length_m/60 AS cost,length_m/60 AS reverse_cost +SELECT id,source,target, length_m/60 AS cost,length_m/60 AS reverse_cost FROM roads.roads_ways; \o exercise_15.txt -SELECT gid, source, target, agg_cost AS minutes, the_geom +SELECT id, source, target, agg_cost AS minutes, geom FROM pgr_drivingDistance( 'edges', -- the prepared statement ( @@ -173,13 +173,13 @@ FROM pgr_drivingDistance( 10, -- 10 minutes false -- graph is undirected ) AS results -JOIN roads.roads_ways AS r ON (edge = gid); +JOIN roads.roads_ways AS r ON (edge = id); \o exercise_16.txt WITH subquery AS ( - SELECT edge, source, target, agg_cost AS minutes, the_geom + SELECT edge, source, target, agg_cost AS minutes, geom FROM pgr_drivingDistance( 'edges', ( @@ -188,10 +188,10 @@ subquery AS ( WHERE tag_id = '318' ), 10, FALSE ) AS results - JOIN roads.roads_ways AS r ON (edge = gid) + JOIN roads.roads_ways AS r ON (edge = id) ), connected_edges AS ( - SELECT r.gid, r.source, r.target, length_m/60, r.the_geom + SELECT r.id, r.source, r.target, length_m/60, r.geom FROM subquery AS s JOIN roads.roads_ways AS r ON ((s.source = r.source OR s.source = r.target)) ) @@ -204,7 +204,7 @@ SELECT * FROM connected_edges; CREATE OR REPLACE FUNCTION closest_edge(geom GEOMETRY) RETURNS BIGINT AS $BODY$ - SELECT gid FROM roads_ways ORDER BY geom <-> the_geom LIMIT 1; + SELECT id FROM roads_ways ORDER BY geom <-> geom LIMIT 1; $BODY$ LANGUAGE SQL; @@ -229,11 +229,11 @@ FROM ( FROM buildings_ways GROUP BY edge_id ) AS subquery -WHERE gid = edge_id; +WHERE id = edge_id; \o add_road_population3.txt -SELECT population FROM roads_ways WHERE gid = 441; +SELECT population FROM roads_ways WHERE id = 441; \o exercise_20.txt @@ -249,10 +249,10 @@ subquery AS ( ), 10, FALSE ) AS results - JOIN roads.roads_ways AS r ON (edge = gid) + JOIN roads.roads_ways AS r ON (edge = id) ), connected_edges AS ( - SELECT DISTINCT gid, population + SELECT DISTINCT id, population FROM subquery AS s JOIN roads.roads_ways AS r ON ( (s.source = r.source OR s.source = r.target) OR diff --git a/docs/scripts/un_sdg/sdg7/all_exercises_sdg7.sql b/docs/scripts/un_sdg/sdg7/all_exercises_sdg7.sql index e9d380ff5..b46285f76 100644 --- a/docs/scripts/un_sdg/sdg7/all_exercises_sdg7.sql +++ b/docs/scripts/un_sdg/sdg7/all_exercises_sdg7.sql @@ -11,16 +11,16 @@ ALTER TABLE roads.roads_ways DROP component; SELECT * INTO roads.roads_vertices FROM pgr_extractVertices( - 'SELECT gid AS id, source, target + 'SELECT id, source, target FROM roads.roads_ways ORDER BY id'); \o only_connected2.txt -UPDATE roads_vertices SET geom = ST_startPoint(the_geom) -FROM roads_ways WHERE source = id; +UPDATE roads_vertices v SET geom = ST_startPoint(w.geom) +FROM roads_ways w WHERE source = v.id; -UPDATE roads_vertices SET geom = ST_endPoint(the_geom) -FROM roads_ways WHERE geom IS NULL AND target = id; +UPDATE roads_vertices v SET geom = ST_endPoint(w.geom) +FROM roads_ways w WHERE v.geom IS NULL AND target = v.id; UPDATE roads_vertices set (x,y) = (ST_X(geom), ST_Y(geom)); @@ -34,7 +34,7 @@ ALTER TABLE roads_vertices ADD COLUMN component BIGINT; UPDATE roads_vertices SET component = c.component FROM ( SELECT * FROM pgr_connectedComponents( - 'SELECT gid as id, source, target, cost, reverse_cost FROM roads_ways') + 'SELECT id, source, target, cost, reverse_cost FROM roads_ways') ) AS c WHERE id = node; @@ -70,7 +70,7 @@ DELETE FROM roads_vertices WHERE component != (SELECT component FROM the_compone \o exercise_10-1.txt PREPARE edges AS -SELECT gid AS id, source, target, length_m AS cost +SELECT id, source, target, length_m AS cost FROM roads.roads_ways; \o exercise_10-2.txt diff --git a/docs/un_sdg/data.rst b/docs/un_sdg/data.rst index eb7ea10a8..ba33bdfeb 100644 --- a/docs/un_sdg/data.rst +++ b/docs/un_sdg/data.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2021-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Data for Sustainable Development Goals ############################################################################### @@ -38,7 +33,7 @@ pgRouting is pre-installed as an extension which requires: These requirements are met on OSGeoLive. When the required software is installed, open a terminal window by pressing ``ctrl-alt-t`` and follow the instructions. Information about installing OSGeoLive can be found in -:doc:`../general-intro/osgeolive` of this workshop. +:doc:`../appendix/osgeolive` of this workshop. .. note:: If you don't have pgRouting installed. You can find the installation procedure at this `link diff --git a/docs/un_sdg/introduction.rst b/docs/un_sdg/introduction.rst index 65c8b2105..8d44896ea 100644 --- a/docs/un_sdg/introduction.rst +++ b/docs/un_sdg/introduction.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2021-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 ******************************************************************************* Achieving Sustainable Development Goals with pgRouting diff --git a/docs/un_sdg/sdg11-cities.rst b/docs/un_sdg/sdg11-cities.rst index 8ebffd99b..c389e6af2 100644 --- a/docs/un_sdg/sdg11-cities.rst +++ b/docs/un_sdg/sdg11-cities.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2021-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Sustainable Cities and Communities ############################################################################### diff --git a/docs/un_sdg/sdg3-health.rst b/docs/un_sdg/sdg3-health.rst index 5dc0ef203..40d5f8ed6 100644 --- a/docs/un_sdg/sdg3-health.rst +++ b/docs/un_sdg/sdg3-health.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2021-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Good Health and Well Being ############################################################################### diff --git a/docs/un_sdg/sdg7-energy.rst b/docs/un_sdg/sdg7-energy.rst index ab7c6ac84..24e73a6d5 100644 --- a/docs/un_sdg/sdg7-energy.rst +++ b/docs/un_sdg/sdg7-energy.rst @@ -1,11 +1,6 @@ -.. - **************************************************************************** - pgRouting Workshop 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/ - **************************************************************************** +:file: This file is part of the pgRouting project. +:copyright: Copyright (c) 2021-2026 pgRouting developers +:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 Affordable and Clean Energy ############################################################################### diff --git a/locale/en/LC_MESSAGES/appendix/osgeolive.po b/locale/en/LC_MESSAGES/appendix/osgeolive.po new file mode 100644 index 000000000..1dbb08f5d --- /dev/null +++ b/locale/en/LC_MESSAGES/appendix/osgeolive.po @@ -0,0 +1,265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2025 pgRouting Developers +# This file is distributed under the same license as the Workshop FOSS4G +# Hiroshima package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../build/docs/appendix/osgeolive.rst:6 +msgid "OSGeoLive Installation" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:8 +msgid "" +"All required tools are available on `OSGeoLive `__." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:10 +msgid "" +"`OSGeoLive Quickstart for Running in a Virtual Machine `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:12 +msgid "" +"`Creating an OSGeoLive Bootable USB flash drive `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:15 +msgid "" +"Before attending a workshop event, make sure your you can use `OSGeoLive` " +"with either method or :doc:`../appendix/appendix-2` on your computer." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:19 +msgid "This workshop uses OSGeoLive on VirtualBox." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:21 +msgid "Chapter Contents" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:24 +msgid "Install `VirtualBox `__." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:26 +msgid "" +"This is a general description on how to install VirtualBox. Complete details " +"about installation can be found on the `VirtualBox `__ documentation." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:31 +msgid "Linux distributions:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:32 +msgid "" +"Add the following line to your /etc/apt/sources.list. According to your " +"distribution, replace `` with your distribution name." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:39 +msgid "Add the keys:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:46 +msgid "Install Virtual box using:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:53 +msgid "" +"More detailed and up to date information can be found `here `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:57 +msgid "OSGeoLive on a VirtualBox" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:60 +msgid "Download OSGeoLive 17" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:62 +msgid "" +"This installation method corresponds for the ``iso`` distribution of " +"OSGeoLive. For other installations visit `OSgeoLive `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:67 +msgid "" +"The images on this section might not correspond to the VirtualBox or " +"OSGeoLive version installed on your system, but the workflow is similar." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:70 +msgid "From https://download.osgeo.org/livedvd/releases/17/" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:72 +msgid "Download *osgeolive-17-amd64.iso*" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:76 +msgid "Download is saved on Downloads directory." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:81 +msgid "Create the virtual machine" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:83 +msgid "Open the Virtual Box" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:87 +msgid "Click on ``New`` and fill with the following information" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:89 +msgid "**Name**: OSGeoLive 17" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:90 +msgid "**Type**: Linux" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:91 +msgid "**Version**: Ubuntu (64-bit)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:92 +msgid "**Memory size**: 4096" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:93 +msgid "**Hard disk**: Create a virtual hard disk now" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:97 +msgid "Click on ``Create`` and fill with the following information" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:99 +msgid "**File location**: Choose a suitable location for the Virtual Hard Disk" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:100 +msgid "**File size**: 10.0GB" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:101 +msgid "**Hard disk file type**: VDI (VirtualBox Disk image)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:102 +msgid "**Storage on physical hard disk**: Dynamically allocated" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:107 +msgid "Install OSGeoLive's ISO" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:109 +msgid "On Storage it reads:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst +msgid "Controller" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:111 +#: ../../build/docs/appendix/osgeolive.rst:134 +msgid "IDE" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst +msgid "IDE Secondary Device 0" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:112 +msgid "[Optical Drive] Empty" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:116 +msgid "Choose ``Storage`` from the virtual box traits and click on ``Empty``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:120 +msgid "" +"Click on the small disk icon and select ``Choose/Create a Virtual Optical " +"Disk``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:124 +msgid "Navigate to the location where the ISO was installed" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:128 +msgid "Instead of ``Empty`` now it has the ISO installed" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:132 +msgid "The installation now reads:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:135 +msgid "[Optical Drive] osgeolive-10.0alpha3-amd64.iso (4.13 GB)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:141 +msgid "Start OSGeoLive" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:143 +msgid "" +"Click on ``Start`` button and then on ``capture`` button to capture the " +"mouse movements" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:148 +msgid "Click on ``Try or Install Lubuntu``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:152 +msgid "OSGeoLive's account is ``user`` and password is ``user``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:154 +msgid "After a few seconds OSGeoLive will start" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:159 +msgid "OSGeoLive’s account is ``user`` and password is ``user``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:165 +msgid "Ubuntu installation" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:167 +msgid "Update sources to include postgresql ::" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:173 +msgid "Install PostgrSQL, PostGIS and pgRouting ::" +msgstr "" diff --git a/locale/en/LC_MESSAGES/basic/data.po b/locale/en/LC_MESSAGES/basic/data.po index 803d3c902..29d7343c5 100644 --- a/locale/en/LC_MESSAGES/basic/data.po +++ b/locale/en/LC_MESSAGES/basic/data.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,126 +20,119 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/basic/data.rst:12 +#: ../../build/docs/basic/data.rst:7 msgid "Prepare Data" msgstr "" -#: ../../build/docs/basic/data.rst:17 +#: ../../build/docs/basic/data.rst:12 msgid "To be able to use pgRouting, data has to be imported into a database." msgstr "" -#: ../../build/docs/basic/data.rst:20 +#: ../../build/docs/basic/data.rst:15 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/data.rst:23 +#: ../../build/docs/basic/data.rst:18 msgid "Prepare the database" msgstr "" -#: ../../build/docs/basic/data.rst:25 +#: ../../build/docs/basic/data.rst:20 msgid "pgRouting is installed as extension. This requires:" msgstr "" -#: ../../build/docs/basic/data.rst:27 +#: ../../build/docs/basic/data.rst:22 msgid "PostgreSQL" msgstr "" -#: ../../build/docs/basic/data.rst:28 +#: ../../build/docs/basic/data.rst:23 msgid "PostGIS" msgstr "" -#: ../../build/docs/basic/data.rst:30 +#: ../../build/docs/basic/data.rst:25 msgid "" "These requirements are met on OSGeoLive. When the required software is " "installed, open a terminal window by pressing :code:`ctrl-alt-t` and follow " "the instructions." msgstr "" -#: ../../build/docs/basic/data.rst:34 -msgid "" -"Information about installing OSGeoLive can be found on :doc:`../general-" -"intro/osgeolive`." -msgstr "" - -#: ../../build/docs/basic/data.rst:37 +#: ../../build/docs/basic/data.rst:29 msgid "" -"If OSGeoLive is not being used, please refer to the chapter's appendix to " -"set up the user ``user``." +"Information about installing OSGeoLive can be found on :doc:`../appendix/" +"osgeolive`." msgstr "" -#: ../../build/docs/basic/data.rst:41 +#: ../../build/docs/basic/data.rst:33 msgid "Create a pgRouting compatible database" msgstr "" -#: ../../build/docs/basic/data.rst:43 -msgid "" -"Depending on the Postgres configuration :code:`-U ` is needed on :code:" -"`psql` commands" +#: ../../build/docs/basic/data.rst:35 +msgid "Create ``city_routing`` database that will be used on the workshop." msgstr "" -#: ../../build/docs/basic/data.rst:51 -msgid "To exit the database use ``\\q``" +#: ../../build/docs/basic/data.rst:42 +msgid "Connect to the database" msgstr "" -#: ../../build/docs/basic/data.rst:54 -msgid "Get the Workshop Data" +#: ../../build/docs/basic/data.rst:48 +msgid "" +"Install pgRouting and its requirements. (otpionally check the version that " +"is being used)" msgstr "" -#: ../../build/docs/basic/data.rst:58 -msgid "" -"The pgRouting workshop will make use of OpenStreetMap data, which is already " -"available on `OSGeoLive `_. This workshop will use " -"the ``Auckland`` city data and is a snapshot of Jun 2025." +#: ../../build/docs/basic/data.rst:56 +msgid "Exit the database" msgstr "" #: ../../build/docs/basic/data.rst:63 -msgid "Getting the data" +msgid "Get the Workshop Data" msgstr "" -#: ../../build/docs/basic/data.rst:66 -msgid "Option 1) When using OSGeoLive" +#: ../../build/docs/basic/data.rst:65 +msgid "" +"This workshop will use the ``Hiroshima`` city data and is a snapshot of Jun " +"2026." msgstr "" -#: ../../build/docs/basic/data.rst:68 -msgid "OSGeoLive comes with OSM data from the city of Auckland." +#: ../../build/docs/basic/data.rst:69 +msgid "Get the data" msgstr "" -#: ../../build/docs/basic/data.rst:76 -msgid "Option 2) Download data form OSGeoLive website" +#: ../../build/docs/basic/data.rst:72 +msgid "Download data form pgRouting download" msgstr "" -#: ../../build/docs/basic/data.rst:78 +#: ../../build/docs/basic/data.rst:74 msgid "The exact same data can be found on the OSGeoLive download page." msgstr "" -#: ../../build/docs/basic/data.rst:86 +#: ../../build/docs/basic/data.rst:82 msgid "Option 3) Download using Overpass XAPI" msgstr "" -#: ../../build/docs/basic/data.rst:88 +#: ../../build/docs/basic/data.rst:84 msgid "" "The following downloads the latest OSM data on using the same area. Using " "this data in the workshop can generate variations in the results, due to " -"changes since Jun 2025." +"changes since Jun 2026." msgstr "" -#: ../../build/docs/basic/data.rst:98 +#: ../../build/docs/basic/data.rst:94 msgid "" "More information about how to download OpenStreetMap data can be found `here " "`_." msgstr "" -#: ../../build/docs/basic/data.rst:101 +#: ../../build/docs/basic/data.rst:97 msgid "" "An alternative for very large areas is to use the download services of " "`Geofabrik `_." msgstr "" -#: ../../build/docs/basic/data.rst:106 +#: ../../build/docs/basic/data.rst:101 msgid "Upload data to the database" msgstr "" -#: ../../build/docs/basic/data.rst:108 +#: ../../build/docs/basic/data.rst:103 msgid "" "The next step is to run ``osm2pgrouting`` converter, which is a command line " "tool that inserts the data in the database, \"ready\" to be used with " @@ -147,52 +140,38 @@ msgid "" "the :doc:`../appendix/appendix-3`" msgstr "" -#: ../../build/docs/basic/data.rst:112 +#: ../../build/docs/basic/data.rst:107 msgid "For this step:" msgstr "" -#: ../../build/docs/basic/data.rst:114 +#: ../../build/docs/basic/data.rst:109 msgid "the osm2pgrouting default ``mapconfig.xml`` configuration file is used" msgstr "" -#: ../../build/docs/basic/data.rst:115 -msgid "and the ``~/Desktop/workshop/AUCKLAND_NZ.osm`` data" +#: ../../build/docs/basic/data.rst:110 +msgid "and the ``~/Desktop/workshop/HIROSHIMA_JP.osm`` data" msgstr "" -#: ../../build/docs/basic/data.rst:116 +#: ../../build/docs/basic/data.rst:111 msgid "with the ``city_routing`` database" msgstr "" -#: ../../build/docs/basic/data.rst:118 +#: ../../build/docs/basic/data.rst:113 msgid "From a terminal window :code:`ctrl-alt-t`." msgstr "" -#: ../../build/docs/basic/data.rst:121 +#: ../../build/docs/basic/data.rst:116 msgid "Run the osm2pgrouting converter" msgstr "" -#: ../../build/docs/basic/data.rst:128 +#: ../../build/docs/basic/data.rst:123 msgid "Depending on the osm2pgrouting version `-W password` is needed" msgstr "" -#: ../../build/docs/basic/data.rst:131 -msgid "Output:" -msgstr "" - -#: ../../build/docs/basic/data.rst:148 +#: ../../build/docs/basic/data.rst:132 msgid "Tables on the database" msgstr "" -#: ../../build/docs/basic/data.rst:154 -msgid "If everything went well the result should look like this:" -msgstr "" - -#: ../../build/docs/basic/data.rst:160 -msgid "Chapter: Appendix" -msgstr "" - -#: ../../build/docs/basic/data.rst:163 -msgid "" -"OSGeoLive's account name on the database is ``user``. To easily use the " -"workshop when not using OSGeoLive this extra steps are needed:" +#: ../../build/docs/basic/data.rst:134 +msgid "To inspect the tables that were created during this process:" msgstr "" diff --git a/locale/en/LC_MESSAGES/basic/graphs.po b/locale/en/LC_MESSAGES/basic/graphs.po index 3ab24b017..1f9eceebd 100644 --- a/locale/en/LC_MESSAGES/basic/graphs.po +++ b/locale/en/LC_MESSAGES/basic/graphs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:26+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,41 +20,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/basic/graphs.rst:12 +#: ../../build/docs/basic/graphs.rst:7 msgid "Graphs" msgstr "" -#: ../../build/docs/basic/graphs.rst:18 +#: ../../build/docs/basic/graphs.rst:13 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/graphs.rst:20 +#: ../../build/docs/basic/graphs.rst:15 msgid "" "Different applications require different graphs. This chapter covers how to " "discard disconnected segments and different approaches to create graphs." msgstr "" -#: ../../build/docs/basic/graphs.rst:23 +#: ../../build/docs/basic/graphs.rst:18 msgid "pgRouting functions in this chapter" msgstr "" -#: ../../build/docs/basic/graphs.rst:25 +#: ../../build/docs/basic/graphs.rst:20 msgid "`pgr_extractVertices`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:26 +#: ../../build/docs/basic/graphs.rst:21 msgid "`pgr_connectedComponents`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:27 +#: ../../build/docs/basic/graphs.rst:22 msgid "`pgr_dijkstraCostMatrix`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:30 +#: ../../build/docs/basic/graphs.rst:25 msgid "The graph requirements" msgstr "" -#: ../../build/docs/basic/graphs.rst:32 +#: ../../build/docs/basic/graphs.rst:27 msgid "" "This chapter requires the creation of three distinct routing graphs derived " "from ``ways``. These consist of two vehicle-specific graphs and one " @@ -62,272 +62,246 @@ msgid "" "``target`` to determine routing paths." msgstr "" -#: ../../build/docs/basic/graphs.rst:37 +#: ../../build/docs/basic/graphs.rst:32 msgid "The description of the graphs:" msgstr "" -#: ../../build/docs/basic/graphs.rst:39 +#: ../../build/docs/basic/graphs.rst:34 msgid "Particular vehicle:" msgstr "" -#: ../../build/docs/basic/graphs.rst:41 -msgid "Circulate on the whole Auckland area." +#: ../../build/docs/basic/graphs.rst:36 +msgid "Circulate on the whole Hiroshima area." msgstr "" -#: ../../build/docs/basic/graphs.rst:43 ../../build/docs/basic/graphs.rst:52 +#: ../../build/docs/basic/graphs.rst:38 ../../build/docs/basic/graphs.rst:47 msgid "Do not use `pedestrian`, `steps`, `footway`, `path`, `cycleway`" msgstr "" -#: ../../build/docs/basic/graphs.rst:45 +#: ../../build/docs/basic/graphs.rst:40 msgid "Speed is the default speed from OSM information." msgstr "" -#: ../../build/docs/basic/graphs.rst:47 +#: ../../build/docs/basic/graphs.rst:42 msgid "Taxi vehicle:" msgstr "" -#: ../../build/docs/basic/graphs.rst:49 +#: ../../build/docs/basic/graphs.rst:44 msgid "Circulate on a smaller area:" msgstr "" -#: ../../build/docs/basic/graphs.rst:51 -msgid "Bounding box: ``(174.775,-36.855,174.76,-36.84)``" +#: ../../build/docs/basic/graphs.rst:46 +msgid "Bounding box: ``(132.439,34.38, 132.46,34.40)``" msgstr "" -#: ../../build/docs/basic/graphs.rst:54 +#: ../../build/docs/basic/graphs.rst:49 #, python-format msgid "Speed is 10% slower than that of the particular vehicles." msgstr "" -#: ../../build/docs/basic/graphs.rst:56 +#: ../../build/docs/basic/graphs.rst:51 msgid "Pedestrians:" msgstr "" -#: ../../build/docs/basic/graphs.rst:58 -msgid "Walk on the whole Auckland area." +#: ../../build/docs/basic/graphs.rst:53 +msgid "Walk on the whole Hiroshima area." msgstr "" -#: ../../build/docs/basic/graphs.rst:59 +#: ../../build/docs/basic/graphs.rst:54 msgid "Can only use pedestrian-only ways:" msgstr "" -#: ../../build/docs/basic/graphs.rst:61 -msgid "`pedestrian`, `steps`, `footway`, `path`, `cycleway`" +#: ../../build/docs/basic/graphs.rst:56 +msgid "`pedestrian`, `steps`, `footway`, `path`, `cycleway`, `residential`" msgstr "" -#: ../../build/docs/basic/graphs.rst:63 +#: ../../build/docs/basic/graphs.rst:58 ../../build/docs/basic/graphs.rst:493 msgid "The walking speed is ``2 mts/sec``." msgstr "" -#: ../../build/docs/basic/graphs.rst:66 +#: ../../build/docs/basic/graphs.rst:61 msgid "Configuration from osm2pgrouting" msgstr "" -#: ../../build/docs/basic/graphs.rst:68 +#: ../../build/docs/basic/graphs.rst:63 msgid "" "When dealing with data, being aware of what kind of data is being used can " "improve results." msgstr "" -#: ../../build/docs/basic/graphs.rst:71 +#: ../../build/docs/basic/graphs.rst:66 msgid "Vehicles cannot circulate on pedestrian ways" msgstr "" -#: ../../build/docs/basic/graphs.rst:78 -msgid "" -"Penalizing or removal of pedestrian ways will make the results closer to " -"reality." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:80 +#: ../../build/docs/basic/graphs.rst:73 msgid "" "When converting data from OSM format using the `osm2pgrouting` tool, there " "is an additional table: ``configuration``." msgstr "" -#: ../../build/docs/basic/graphs.rst:84 +#: ../../build/docs/basic/graphs.rst:77 msgid "" "The ``configuration`` table structure can be obtained with the following " "command." msgstr "" -#: ../../build/docs/basic/graphs.rst:93 -msgid "tag_id values" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:99 +#: ../../build/docs/basic/graphs.rst:86 msgid "In the image above, there is a detail of the ``tag_id`` of the roads." msgstr "" -#: ../../build/docs/basic/graphs.rst:103 +#: ../../build/docs/basic/graphs.rst:90 msgid "" "The `OSM highway `__ types:" msgstr "" -#: ../../build/docs/basic/graphs.rst:113 +#: ../../build/docs/basic/graphs.rst:100 msgid "" "Also, on the ``ways`` table, there is a column that can be used to ``JOIN`` " "with the ``configuration`` table." msgstr "" -#: ../../build/docs/basic/graphs.rst:116 -msgid "The configuration types in the Auckland data" +#: ../../build/docs/basic/graphs.rst:103 +msgid "The configuration types in the Hiroshima data" msgstr "" -#: ../../build/docs/basic/graphs.rst:126 +#: ../../build/docs/basic/graphs.rst:113 msgid "pgr_extractVertices" msgstr "" -#: ../../build/docs/basic/graphs.rst:128 +#: ../../build/docs/basic/graphs.rst:115 msgid "" "``pgr_extractVertices`` extracting the vertex information of the set of " "edges of a graph." msgstr "" -#: ../../build/docs/basic/graphs.rst:132 ../../build/docs/basic/graphs.rst:296 -#: ../../build/docs/basic/graphs.rst:626 +#: ../../build/docs/basic/graphs.rst:119 ../../build/docs/basic/graphs.rst:263 +#: ../../build/docs/basic/graphs.rst:625 msgid "Signature summary" msgstr "" -#: ../../build/docs/basic/graphs.rst:140 +#: ../../build/docs/basic/graphs.rst:127 msgid "" "Description of the function can be found in `pgr_extractVertices `__" msgstr "" -#: ../../build/docs/basic/graphs.rst:144 +#: ../../build/docs/basic/graphs.rst:131 msgid "Exercise 1: Create a vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:147 ../../build/docs/basic/graphs.rst:196 -#: ../../build/docs/basic/graphs.rst:312 ../../build/docs/basic/graphs.rst:358 -#: ../../build/docs/basic/graphs.rst:433 ../../build/docs/basic/graphs.rst:504 -#: ../../build/docs/basic/graphs.rst:562 ../../build/docs/basic/graphs.rst:644 +#: ../../build/docs/basic/graphs.rst:134 ../../build/docs/basic/graphs.rst:183 +#: ../../build/docs/basic/graphs.rst:279 ../../build/docs/basic/graphs.rst:342 +#: ../../build/docs/basic/graphs.rst:417 ../../build/docs/basic/graphs.rst:488 +#: ../../build/docs/basic/graphs.rst:567 ../../build/docs/basic/graphs.rst:643 +#: ../../build/docs/basic/graphs.rst:725 msgid "Problem" msgstr "" -#: ../../build/docs/basic/graphs.rst:148 +#: ../../build/docs/basic/graphs.rst:135 msgid "Create the vertices table corresponding to the edges in ``ways``." msgstr "" -#: ../../build/docs/basic/graphs.rst:151 ../../build/docs/basic/graphs.rst:200 -#: ../../build/docs/basic/graphs.rst:316 ../../build/docs/basic/graphs.rst:367 -#: ../../build/docs/basic/graphs.rst:447 ../../build/docs/basic/graphs.rst:513 -#: ../../build/docs/basic/graphs.rst:579 ../../build/docs/basic/graphs.rst:657 +#: ../../build/docs/basic/graphs.rst:138 ../../build/docs/basic/graphs.rst:187 +#: ../../build/docs/basic/graphs.rst:283 ../../build/docs/basic/graphs.rst:351 +#: ../../build/docs/basic/graphs.rst:433 ../../build/docs/basic/graphs.rst:509 +#: ../../build/docs/basic/graphs.rst:577 ../../build/docs/basic/graphs.rst:660 +#: ../../build/docs/basic/graphs.rst:733 msgid "Solution" msgstr "" -#: ../../build/docs/basic/graphs.rst:152 +#: ../../build/docs/basic/graphs.rst:139 msgid "A graph consists of a set of vertices and a set of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:153 +#: ../../build/docs/basic/graphs.rst:140 msgid "In this case, the ``ways`` table is a set of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:154 +#: ../../build/docs/basic/graphs.rst:141 msgid "" "In order to make use of all the graph functions from pgRouting, it is " "required have the set of vertices defined." msgstr "" -#: ../../build/docs/basic/graphs.rst:156 +#: ../../build/docs/basic/graphs.rst:143 msgid "" "From the requirements, a fully connected graph is needed, therefore adding a " "``component`` column." msgstr "" -#: ../../build/docs/basic/graphs.rst:170 +#: ../../build/docs/basic/graphs.rst:157 msgid "Reviewing the description of the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:180 +#: ../../build/docs/basic/graphs.rst:167 msgid "Inspecting the information on the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:193 +#: ../../build/docs/basic/graphs.rst:180 msgid "Exercise 2: Fill up other columns in the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:197 +#: ../../build/docs/basic/graphs.rst:184 msgid "Fill up geometry information on the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:201 +#: ../../build/docs/basic/graphs.rst:188 msgid "Count the number of rows that need to be filled up." msgstr "" -#: ../../build/docs/basic/graphs.rst:212 +#: ../../build/docs/basic/graphs.rst:199 msgid "Update the ``geom`` and ``osm_id`` columns" msgstr "" -#: ../../build/docs/basic/graphs.rst:213 +#: ../../build/docs/basic/graphs.rst:200 msgid "" "The update based on the ``source`` column from ``ways`` table and the ``id`` " "column of the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:215 +#: ../../build/docs/basic/graphs.rst:202 msgid "" "To update ``geom`` column, use the start point of the geometry on the " "``ways`` table." msgstr "" -#: ../../build/docs/basic/graphs.rst:217 +#: ../../build/docs/basic/graphs.rst:204 msgid "Use the ``source_osm`` value to fill up ``osm_id`` column." msgstr "" -#: ../../build/docs/basic/graphs.rst:225 ../../build/docs/basic/graphs.rst:255 -#: ../../build/docs/basic/graphs.rst:282 ../../build/docs/basic/graphs.rst:474 +#: ../../build/docs/basic/graphs.rst:212 ../../build/docs/basic/graphs.rst:459 msgid "Verification" msgstr "" -#: ../../build/docs/basic/graphs.rst:230 -msgid "" -"Do not expect this count to be the same as the total number of rows in the " -"vertices table, because some nodes are dead ends: some vertices will only be " -"sources and others only targets, so not all rows can be updated." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:242 -msgid "Continue update the ``geom`` and ``osm_id`` columns" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:243 -msgid "" -"The update based on the ``target`` column from ``ways`` table and the ``id`` " -"column of the vertices table." +#: ../../build/docs/basic/graphs.rst:222 +msgid "Exercise 3: Use QGIS to view the work" msgstr "" -#: ../../build/docs/basic/graphs.rst:245 -msgid "" -"To update ``geom`` column, use the end point of the geometry on the ``ways`` " -"table." +#: ../../build/docs/basic/graphs.rst:224 +msgid "QGIS is a powerfull tool" msgstr "" -#: ../../build/docs/basic/graphs.rst:247 -msgid "Use the ``target_osm`` value to fill up ``osm_id`` column." +#: ../../build/docs/basic/graphs.rst:226 +msgid "If you are using OSGeoLive, then you can find QGIS here:" msgstr "" -#: ../../build/docs/basic/graphs.rst:260 -msgid "" -"Expecting to be done, that is the geometry column should not have a ``NULL`` " -"value." +#: ../../build/docs/basic/graphs.rst:233 +msgid "Open it and add the Postgres credentials to access city_routing" msgstr "" -#: ../../build/docs/basic/graphs.rst:273 -msgid "Update the ``x`` and ``y`` columns" +#: ../../build/docs/basic/graphs.rst:240 +msgid "Choose the vertices table and move it to the layers" msgstr "" -#: ../../build/docs/basic/graphs.rst:274 -msgid "Update the ``x`` and ``y`` columns based on the ``geom`` column." +#: ../../build/docs/basic/graphs.rst:247 +msgid "You will see on the canvas something similar to:" msgstr "" -#: ../../build/docs/basic/graphs.rst:289 +#: ../../build/docs/basic/graphs.rst:256 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/docs/basic/graphs.rst:291 +#: ../../build/docs/basic/graphs.rst:258 msgid "" "``pgr_connectedComponents`` compute the connected components of an " "undirected graph using a Depth First Search approach. A connected component " @@ -335,413 +309,451 @@ msgid "" "other." msgstr "" -#: ../../build/docs/basic/graphs.rst:304 +#: ../../build/docs/basic/graphs.rst:271 msgid "" "Description of the function can be found in `pgr_connectedComponents " "`__" msgstr "" -#: ../../build/docs/basic/graphs.rst:309 -msgid "Exercise 3: Set components on edges and vertices tables" +#: ../../build/docs/basic/graphs.rst:276 +msgid "Exercise 4: Set components on edges and vertices tables" msgstr "" -#: ../../build/docs/basic/graphs.rst:313 +#: ../../build/docs/basic/graphs.rst:280 msgid "Get the information about the graph components." msgstr "" -#: ../../build/docs/basic/graphs.rst:317 +#: ../../build/docs/basic/graphs.rst:284 msgid "Create additional columns on the edges tables." msgstr "" -#: ../../build/docs/basic/graphs.rst:329 +#: ../../build/docs/basic/graphs.rst:296 msgid "Use the ``pgr_connectedComponents`` to fill up the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:330 +#: ../../build/docs/basic/graphs.rst:297 msgid "Use the results to store the component numbers on the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:343 +#: ../../build/docs/basic/graphs.rst:316 +msgid "" +"This is not a QGIS workshop, so the details about how to display layers are " +"not written in this workshop" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:320 msgid "Update the edges table with based on the component number of the vertex" msgstr "" -#: ../../build/docs/basic/graphs.rst:355 -msgid "Exercise 4: Inspect the components" +#: ../../build/docs/basic/graphs.rst:339 +msgid "Exercise 5: Inspect the components" msgstr "" -#: ../../build/docs/basic/graphs.rst:359 +#: ../../build/docs/basic/graphs.rst:343 msgid "Answer the following questions:" msgstr "" -#: ../../build/docs/basic/graphs.rst:361 +#: ../../build/docs/basic/graphs.rst:345 msgid "How many components are in the vertices table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:362 +#: ../../build/docs/basic/graphs.rst:346 msgid "How many components are in the edges table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:363 +#: ../../build/docs/basic/graphs.rst:347 msgid "List the 10 components with more edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:364 +#: ../../build/docs/basic/graphs.rst:348 msgid "Get the component with the maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:369 +#: ../../build/docs/basic/graphs.rst:353 msgid "1. How many components are in the vertices table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:370 ../../build/docs/basic/graphs.rst:383 +#: ../../build/docs/basic/graphs.rst:354 ../../build/docs/basic/graphs.rst:367 msgid "Count the distinct components." msgstr "" -#: ../../build/docs/basic/graphs.rst:382 +#: ../../build/docs/basic/graphs.rst:366 msgid "2. How many components are in the edges table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:395 +#: ../../build/docs/basic/graphs.rst:379 msgid "3. List the 10 components with more edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:396 +#: ../../build/docs/basic/graphs.rst:380 msgid "Count number of rows grouped by component. (**line 1**)" msgstr "" -#: ../../build/docs/basic/graphs.rst:397 +#: ../../build/docs/basic/graphs.rst:381 msgid "Inverse order to display the top 10. (**line 2**)" msgstr "" -#: ../../build/docs/basic/graphs.rst:409 +#: ../../build/docs/basic/graphs.rst:393 msgid "4. Get the component with the maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:410 +#: ../../build/docs/basic/graphs.rst:394 msgid "Use the query from last question to get the maximum count" msgstr "" -#: ../../build/docs/basic/graphs.rst:411 +#: ../../build/docs/basic/graphs.rst:395 msgid "Get the component that matches the maximum value." msgstr "" -#: ../../build/docs/basic/graphs.rst:423 +#: ../../build/docs/basic/graphs.rst:407 msgid "Preparing the graphs" msgstr "" -#: ../../build/docs/basic/graphs.rst:426 -msgid "Exercise 5: Creating a view for routing" +#: ../../build/docs/basic/graphs.rst:410 +msgid "Exercise 6: Creating a view for routing vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:428 +#: ../../build/docs/basic/graphs.rst:412 msgid "View of roads for vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:434 +#: ../../build/docs/basic/graphs.rst:418 msgid "" "Create a view with minimal amount of information for processing the " "particular vehicles." msgstr "" -#: ../../build/docs/basic/graphs.rst:435 +#: ../../build/docs/basic/graphs.rst:419 msgid "" -"Routing `cost` and `reverse_cost` in terms of seconds for routing " +"Routing ``cost`` and ``reverse_cost`` in terms of seconds for routing " "calculations." msgstr "" -#: ../../build/docs/basic/graphs.rst:436 -msgid "Exclude `steps`, `footway`, `path`, `cycleway` segments." +#: ../../build/docs/basic/graphs.rst:420 +msgid "" +"Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway`` " +"segments." msgstr "" -#: ../../build/docs/basic/graphs.rst:437 ../../build/docs/basic/graphs.rst:571 +#: ../../build/docs/basic/graphs.rst:421 ../../build/docs/basic/graphs.rst:497 msgid "Data needed in the view for further processing." msgstr "" -#: ../../build/docs/basic/graphs.rst:439 -msgid "``name`` The name of the segment." +#: ../../build/docs/basic/graphs.rst:423 ../../build/docs/basic/graphs.rst:499 +msgid "``id`` of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:440 -msgid "``length_m`` The length in meters rename to ``length``." +#: ../../build/docs/basic/graphs.rst:424 ../../build/docs/basic/graphs.rst:500 +msgid "``source`` and ``target`` of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:441 -msgid "``the_geom`` The geometry rename to ``geom``." +#: ../../build/docs/basic/graphs.rst:425 ../../build/docs/basic/graphs.rst:501 +msgid "``name`` The name of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:442 -msgid "``tag_id`` Keep as is." +#: ../../build/docs/basic/graphs.rst:426 ../../build/docs/basic/graphs.rst:502 +msgid "``length`` The length in meters rename from ``length_m``." msgstr "" -#: ../../build/docs/basic/graphs.rst:444 ../../build/docs/basic/graphs.rst:576 -msgid "Verify the number of edges was reduced." +#: ../../build/docs/basic/graphs.rst:427 ../../build/docs/basic/graphs.rst:503 +msgid "``geom`` The geometry." msgstr "" -#: ../../build/docs/basic/graphs.rst:448 ../../build/docs/basic/graphs.rst:514 -#: ../../build/docs/basic/graphs.rst:580 -msgid "Creating the view:" +#: ../../build/docs/basic/graphs.rst:428 ../../build/docs/basic/graphs.rst:504 +msgid "``tag_id`` The kind of road." msgstr "" -#: ../../build/docs/basic/graphs.rst:450 -msgid "" -"If you need to reconstruct the view, first drop it using the command on " -"**line 1**." +#: ../../build/docs/basic/graphs.rst:430 ../../build/docs/basic/graphs.rst:506 +msgid "Verify the number of edges was reduced." msgstr "" -#: ../../build/docs/basic/graphs.rst:452 -msgid "Get the component with maximum number of edges (**lines 6-10**)" +#: ../../build/docs/basic/graphs.rst:434 ../../build/docs/basic/graphs.rst:510 +#: ../../build/docs/basic/graphs.rst:578 +msgid "Creating the view:" msgstr "" -#: ../../build/docs/basic/graphs.rst:453 +#: ../../build/docs/basic/graphs.rst:436 ../../build/docs/basic/graphs.rst:512 msgid "" -"The `source` and `target` requirements for the function are to be with OSM " -"identifiers. (line **14**)" +"If you need to reconstruct the view, first drop it using the command on line " +"1." msgstr "" -#: ../../build/docs/basic/graphs.rst:455 -msgid "" -"The ``cost`` and ``reverse_cost`` are in terms of seconds. (line **15**)" +#: ../../build/docs/basic/graphs.rst:438 ../../build/docs/basic/graphs.rst:514 +msgid "Get the component with maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:456 +#: ../../build/docs/basic/graphs.rst:439 msgid "" -"The additional parameters ``length_m`` and ``the_geom`` are renamed, " -"``name`` is also included. (line **16**)" +"Select the required columns. - The ``cost`` and ``reverse_cost`` are in " +"terms of seconds. - The ``length_m`` is renamed." msgstr "" -#: ../../build/docs/basic/graphs.rst:458 +#: ../../build/docs/basic/graphs.rst:443 ../../build/docs/basic/graphs.rst:521 msgid "``JOIN`` with the `configuration`:" msgstr "" -#: ../../build/docs/basic/graphs.rst:460 -msgid "Exclude `steps`, `footway`, `path`, `cycleway`. (line **18**)" +#: ../../build/docs/basic/graphs.rst:445 +msgid "Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway``." msgstr "" -#: ../../build/docs/basic/graphs.rst:475 +#: ../../build/docs/basic/graphs.rst:460 msgid "Count the rows on the original ``ways`` and on ``vehicle_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:485 +#: ../../build/docs/basic/graphs.rst:470 msgid "Get the description of the view" msgstr "" -#: ../../build/docs/basic/graphs.rst:497 -msgid "Exercise 6: Limiting the road network within an area" +#: ../../build/docs/basic/graphs.rst:481 +msgid "Exercise 7: Creating a materialized view for routing pedestrians" msgstr "" -#: ../../build/docs/basic/graphs.rst:499 -msgid "View of smaller set of roads for vehicles" +#: ../../build/docs/basic/graphs.rst:483 +msgid "View of roads for pedestrians" msgstr "" -#: ../../build/docs/basic/graphs.rst:505 -msgid "Create a view ``taxi_net`` for the `taxi`:" +#: ../../build/docs/basic/graphs.rst:489 +msgid "" +"Create a materialized view with minimal amount of information for processing " +"pedestrian routing." msgstr "" -#: ../../build/docs/basic/graphs.rst:507 +#: ../../build/docs/basic/graphs.rst:491 msgid "" -"The taxi can only circulate inside this Bounding Box: " -"``(174.775,-36.855,174.76,-36.84)``" +"Routing ``cost`` and ``reverse_cost`` will be in seconds for routing " +"calculations." msgstr "" -#: ../../build/docs/basic/graphs.rst:508 -#, python-format -msgid "The taxi speed is 10% slower than the particular vehicle." +#: ../../build/docs/basic/graphs.rst:495 +msgid "" +"Include the pedestrian roads: ``pedestrian``, ``steps``, ``footway``, " +"``path``, ``cycleway`` and ``residential`` roads." msgstr "" -#: ../../build/docs/basic/graphs.rst:510 -msgid "Verify the reduced number of road segments." +#: ../../build/docs/basic/graphs.rst:515 +msgid "Select the required columns." msgstr "" -#: ../../build/docs/basic/graphs.rst:516 -#, python-format +#: ../../build/docs/basic/graphs.rst:517 msgid "" -"Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the " -"particular vehicle. (line **7**)" +"The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 " +"mts/sec``." msgstr "" -#: ../../build/docs/basic/graphs.rst:518 -msgid "" -"The graph for the taxi is a subset of the ``vehicle_net`` graph. (line **9**)" +#: ../../build/docs/basic/graphs.rst:519 +msgid "The ``length_m`` is renamed." msgstr "" -#: ../../build/docs/basic/graphs.rst:519 +#: ../../build/docs/basic/graphs.rst:523 msgid "" -"Can only circulate inside the bounding box: " -"``(174.775,-36.855,174.76,-36.84)``. (line **10**)" +"Include ``residential``, ``pedestrian``, ``steps``, ``footway``, ``path``, " +"``cycleway``." msgstr "" -#: ../../build/docs/basic/graphs.rst:533 -msgid "Count the rows on ``taxi_net``." +#: ../../build/docs/basic/graphs.rst:538 +msgid "Count the rows on the view ``walk_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:544 ../../build/docs/basic/graphs.rst:610 +#: ../../build/docs/basic/graphs.rst:549 ../../build/docs/basic/graphs.rst:608 msgid "Get the description." msgstr "" -#: ../../build/docs/basic/graphs.rst:555 -msgid "Exercise 7: Creating a materialized view for routing pedestrians" +#: ../../build/docs/basic/graphs.rst:560 +msgid "Exercise 8: Limiting the road network within an area" msgstr "" -#: ../../build/docs/basic/graphs.rst:557 -msgid "View of roads for pedestrians" +#: ../../build/docs/basic/graphs.rst:562 +msgid "View of smaller set of roads for vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:563 -msgid "" -"Create a materialized view with minimal amount of information for processing " -"pedestrians." +#: ../../build/docs/basic/graphs.rst:568 +msgid "Create a view ``taxi_net`` for the `taxi`:" msgstr "" -#: ../../build/docs/basic/graphs.rst:565 +#: ../../build/docs/basic/graphs.rst:570 msgid "" -"Routing `cost` and `reverse_cost` will be on seconds for routing " -"calculations." +"The taxi can only circulate inside this Bounding Box: ``(132.439,34.38, " +"132.46,34.40)``" msgstr "" -#: ../../build/docs/basic/graphs.rst:567 -msgid "The speed is ``2 mts/sec``." +#: ../../build/docs/basic/graphs.rst:571 +#, python-format +msgid "The taxi speed is 10% slower than the particular vehicle." msgstr "" -#: ../../build/docs/basic/graphs.rst:569 -msgid "" -"Only include the pedestrian only roads: ``pedestrian``, ``steps``, " -"``footway``, ``path``, ``cycleway``" +#: ../../build/docs/basic/graphs.rst:572 +msgid "Base the view on ``vehicle_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:573 -msgid "``length_m`` The length in meters." +#: ../../build/docs/basic/graphs.rst:574 +msgid "Verify the reduced number of road segments." msgstr "" -#: ../../build/docs/basic/graphs.rst:574 -msgid "``the_geom`` The geometry." +#: ../../build/docs/basic/graphs.rst:580 +#, python-format +msgid "" +"Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the " +"particular vehicle." msgstr "" #: ../../build/docs/basic/graphs.rst:582 -msgid "Similar to `Exercise 5: Creating a view for routing`_:" +msgid "The graph for the taxi is a subset of the ``vehicle_net`` graph." msgstr "" -#: ../../build/docs/basic/graphs.rst:584 +#: ../../build/docs/basic/graphs.rst:583 msgid "" -"The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 " -"mts/sec``. (line **7**)" +"Can only circulate inside the bounding box: ``(132.439,34.38, " +"132.46,34.40)``." msgstr "" -#: ../../build/docs/basic/graphs.rst:586 -msgid "Exclude ``motorway``, ``primary`` and ``secondary`` . (line **11**)" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:599 -msgid "Count the rows on the view ``walk_net``." +#: ../../build/docs/basic/graphs.rst:597 +msgid "Count the rows on ``taxi_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:621 +#: ../../build/docs/basic/graphs.rst:620 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/docs/basic/graphs.rst:623 +#: ../../build/docs/basic/graphs.rst:622 msgid "" "``pgr_dijkstraCostMatrix`` Calculates a cost matrix using Dijkstra algorithm." msgstr "" -#: ../../build/docs/basic/graphs.rst:634 +#: ../../build/docs/basic/graphs.rst:633 msgid "" "Description of the function can be found in `pgr_dijkstraCostMatrix `__" msgstr "" -#: ../../build/docs/basic/graphs.rst:638 -msgid "Exercise 8: Testing the views" +#: ../../build/docs/basic/graphs.rst:637 +msgid "Exercise 9: Testing the views" msgstr "" -#: ../../build/docs/basic/graphs.rst:645 +#: ../../build/docs/basic/graphs.rst:644 msgid "Test the created views" msgstr "" -#: ../../build/docs/basic/graphs.rst:647 +#: ../../build/docs/basic/graphs.rst:646 msgid "In particular:" msgstr "" -#: ../../build/docs/basic/graphs.rst:649 +#: ../../build/docs/basic/graphs.rst:648 msgid "" -"Get a traveling cost matrix in seconds from all locations to all locations." +"Get a traveling cost matrix in seconds from the all follwoing ``id`` to all " +"the ``id``" msgstr "" -#: ../../build/docs/basic/graphs.rst:650 +#: ../../build/docs/basic/graphs.rst:651 ../../build/docs/basic/graphs.rst:663 +msgid "|id_1|, |id_2|, |id_3|, |id_4| and |id_5|." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:653 msgid "the views to be tested are:" msgstr "" -#: ../../build/docs/basic/graphs.rst:652 +#: ../../build/docs/basic/graphs.rst:655 msgid "``vehicle_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:653 +#: ../../build/docs/basic/graphs.rst:656 msgid "``taxi_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:654 +#: ../../build/docs/basic/graphs.rst:657 msgid "``walk_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:658 +#: ../../build/docs/basic/graphs.rst:661 msgid "The locations are:" msgstr "" -#: ../../build/docs/basic/graphs.rst:660 -msgid "|id_1|, |id_2|, |id_3|, |id_4| and |id_5|." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:661 +#: ../../build/docs/basic/graphs.rst:664 msgid "Passed as an array to the function." msgstr "" -#: ../../build/docs/basic/graphs.rst:663 +#: ../../build/docs/basic/graphs.rst:666 msgid "For ``vehicle_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:665 +#: ../../build/docs/basic/graphs.rst:668 msgid "``vehicle_net`` is used." msgstr "" -#: ../../build/docs/basic/graphs.rst:666 -msgid "" -"Selection of the columns with the corresponding names are on line **1**." +#: ../../build/docs/basic/graphs.rst:669 +msgid "Selection of the columns with the corresponding names." msgstr "" -#: ../../build/docs/basic/graphs.rst:667 +#: ../../build/docs/basic/graphs.rst:670 msgid "The view is prepared with the column names that pgRouting use." msgstr "" -#: ../../build/docs/basic/graphs.rst:669 -msgid "There is no need to rename columns. (line **3**)" +#: ../../build/docs/basic/graphs.rst:672 +msgid "There is no need to rename columns." msgstr "" -#: ../../build/docs/basic/graphs.rst:671 -msgid "" -"The OSM identifiers of the departure and destination are used. (line **4**)" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:684 +#: ../../build/docs/basic/graphs.rst:685 msgid "For ``taxi_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:686 -msgid "Similar as the previous one but with ``taxi_net``. (line **3**)" +#: ../../build/docs/basic/graphs.rst:687 +msgid "Similar as the previous one but with ``taxi_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:687 +#: ../../build/docs/basic/graphs.rst:688 msgid "" "The results give the same route as with ``vehicle_net`` but ``cost`` is " "higher." msgstr "" -#: ../../build/docs/basic/graphs.rst:700 +#: ../../build/docs/basic/graphs.rst:690 +msgid "Not all the locations are in the area, so not all are calculated." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:703 msgid "For ``walk_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:702 -msgid "Similar as the previous one but with ``walk_net``. (line **3**)" +#: ../../build/docs/basic/graphs.rst:705 +msgid "Similar as the previous ones but with ``walk_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:703 -msgid "The results give a different route than of the vehicles." +#: ../../build/docs/basic/graphs.rst:719 +msgid "Exercise 10: Visualize on QGIS the ``pgr_costMatrix`` result" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:726 +msgid "" +"Based on the query from `Exercise 9: Testing the views`_, create a view to " +"be able to use on QGIS. (like the one above)" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:729 +msgid "The results when using ``vehile_net`` is the example." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:730 +msgid "The other results are left to the reader." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:734 +msgid "QGIS needs a unique identifier, the identifier will be the row number." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:735 +msgid "``JOIN`` with ``vertices`` table to get the geometry of the points." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:736 +msgid "Build a ``LINESTRING`` joining the 2 points." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:737 +msgid "" +"The name of the line consists of the values of the result of the function." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:746 +msgid "" +"Enter QGIS, refresh the database and move the view to the layers. Format " +"adding the name to the lines." msgstr "" diff --git a/locale/en/LC_MESSAGES/basic/pedestrian.po b/locale/en/LC_MESSAGES/basic/pedestrian.po index e08a47f6d..8329eca9b 100644 --- a/locale/en/LC_MESSAGES/basic/pedestrian.po +++ b/locale/en/LC_MESSAGES/basic/pedestrian.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,404 +20,420 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/basic/pedestrian.rst:11 +#: ../../build/docs/basic/pedestrian.rst:6 msgid "Pedestrian Routing" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:17 +#: ../../build/docs/basic/pedestrian.rst:12 msgid "" "**pgRouting** was first called *pgDijkstra* because it implemented only " "shortest path search with *Dijkstra* algorithm. Later other functions were " "added and the library was renamed to pgRouting." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:21 +#: ../../build/docs/basic/pedestrian.rst:16 msgid "pgRouting functions in this chapter" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:23 +#: ../../build/docs/basic/pedestrian.rst:18 msgid "`pgr_dijkstra`_" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:24 +#: ../../build/docs/basic/pedestrian.rst:19 msgid "`pgr_dijkstraCost`_" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:26 +#: ../../build/docs/basic/pedestrian.rst:21 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:29 -msgid "pgr_dijkstra" +#: ../../build/docs/basic/pedestrian.rst:24 +msgid "Identifiers for the Queries" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:31 +#: ../../build/docs/basic/pedestrian.rst:26 msgid "" -"Dijkstra algorithm was the first algorithm implemented in pgRouting. It does " -"not require other attributes than the identifiers ``id``, ``source`` and " -"``target`` and the weights ``cost`` and ``reverse_cost``." +"The assignment of the vertices identifiers on the source and target columns " +"may be different, the exercises will use the identifiers value assigned by " +"``oms2pgrouting``" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:35 +#: ../../build/docs/basic/pedestrian.rst:30 msgid "" -"You can specify when to consider the graph as `directed `__ or undirected." +"For the workshop, some locations near of the FOSS4G event are going to be " +"used. These locations are within this area |osm_map_link|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:39 -#: ../../build/docs/basic/pedestrian.rst:285 -msgid "Signature Summary" +#: ../../build/docs/basic/pedestrian.rst:33 +msgid "|osmid_1| |place_1|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:51 -msgid "" -"Description of the function can be found in `pgr_dijkstra `__." +#: ../../build/docs/basic/pedestrian.rst:34 +msgid "|osmid_2| |place_2|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:55 -msgid "" -"Many pgRouting functions have ``sql::text`` as one of their arguments. While " -"this may look confusing at first, it makes the functions very flexible as " -"the user can pass a ``SELECT`` statement as function argument as long as the " -"returned result contains the required number of attributes and the correct " -"attribute names." +#: ../../build/docs/basic/pedestrian.rst:35 +msgid "|osmid_3| |place_3|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:60 -msgid "" -"Most of pgRouting implemented algorithms do not require the **geometry**." +#: ../../build/docs/basic/pedestrian.rst:36 +msgid "|osmid_4| |place_4|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:61 -msgid "" -"The pgRouting functions **do not** return a geometry, but only an ordered " -"list of nodes or edges." +#: ../../build/docs/basic/pedestrian.rst:37 +msgid "|osmid_5| |place_5|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:65 -msgid "Identifiers for the Queries" +#: ../../build/docs/basic/pedestrian.rst:40 +msgid "Don'f forget to connect to the database, if not connected:" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:46 +msgid "Get the vertex identifiers" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:57 +msgid "To use as a guide in QGIS, create a view:" msgstr "" #: ../../build/docs/basic/pedestrian.rst:66 -msgid "" -"The assignment of the vertices identifiers on the source and target columns " -"may be different, the following exercises will use the results of this " -"query. For the workshop, some locations near of the FOSS4G event are going " -"to be used. These locations are within this area https://www.openstreetmap." -"org/#map=16/-36.8520950/174.7631803" +msgid "|osmid_1| |place_1| (|id_1|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:71 -msgid "|osmid_1| |place_1|" +#: ../../build/docs/basic/pedestrian.rst:67 +msgid "|osmid_2| |place_2| (|id_2|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:72 -msgid "|osmid_2| |place_2|" +#: ../../build/docs/basic/pedestrian.rst:68 +msgid "|osmid_3| |place_3| (|id_3|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:73 -msgid "|osmid_3| |place_3|" +#: ../../build/docs/basic/pedestrian.rst:69 +msgid "|osmid_4| |place_4| (|id_4|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:74 -msgid "|osmid_4| |place_4|" +#: ../../build/docs/basic/pedestrian.rst:70 +msgid "|osmid_5| |place_5| (|id_5|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:75 -msgid "|osmid_5| |place_5|" +#: ../../build/docs/basic/pedestrian.rst:73 +msgid "The corresponding :code:`id` are shown in the following image." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:78 -msgid "Connect to the database, if not connected:" +#: ../../build/docs/basic/pedestrian.rst:79 +msgid "pgr_dijkstra" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:84 -msgid "Get the vertex identifiers" +#: ../../build/docs/basic/pedestrian.rst:81 +msgid "" +"Dijkstra algorithm was the first algorithm implemented in pgRouting. It does " +"not require other attributes than the identifiers ``id``, ``source`` and " +"``target`` and the weights ``cost`` and ``reverse_cost``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:95 -msgid "|osmid_1| |place_1| (|id_1|)" +#: ../../build/docs/basic/pedestrian.rst:85 +msgid "" +"You can specify when to consider the graph as `directed `__ or undirected." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:96 -msgid "|osmid_2| |place_2| (|id_2|)" +#: ../../build/docs/basic/pedestrian.rst:89 +#: ../../build/docs/basic/pedestrian.rst:316 +msgid "Signature Summary" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:97 -msgid "|osmid_3| |place_3| (|id_3|)" +#: ../../build/docs/basic/pedestrian.rst:101 +msgid "" +"Description of the function can be found in `pgr_dijkstra `__." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:98 -msgid "|osmid_4| |place_4| (|id_4|)" +#: ../../build/docs/basic/pedestrian.rst:105 +msgid "" +"Many pgRouting functions have ``sql::text`` as one of their arguments. While " +"this may look confusing at first, it makes the functions very flexible as " +"the user can pass a ``SELECT`` statement as function argument as long as the " +"returned result contains the required number of attributes and the correct " +"attribute names." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:99 -msgid "|osmid_5| |place_5| (|id_5|)" +#: ../../build/docs/basic/pedestrian.rst:110 +msgid "" +"Most of pgRouting implemented algorithms do not require the **geometry**." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:102 +#: ../../build/docs/basic/pedestrian.rst:111 msgid "" -"The corresponding :code:`id` are shown in the following image, and a sample " -"route from \"|place_3|\" to \"|place_1|\"." +"The pgRouting functions **do not** return a geometry, but only an ordered " +"list of nodes or edges." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:109 +#: ../../build/docs/basic/pedestrian.rst:115 msgid "Exercise 1: Single pedestrian routing" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:112 -#: ../../build/docs/basic/pedestrian.rst:152 -#: ../../build/docs/basic/pedestrian.rst:183 -#: ../../build/docs/basic/pedestrian.rst:218 -#: ../../build/docs/basic/pedestrian.rst:251 -#: ../../build/docs/basic/pedestrian.rst:305 +#: ../../build/docs/basic/pedestrian.rst:121 +#: ../../build/docs/basic/pedestrian.rst:181 +#: ../../build/docs/basic/pedestrian.rst:213 +#: ../../build/docs/basic/pedestrian.rst:249 +#: ../../build/docs/basic/pedestrian.rst:281 +#: ../../build/docs/basic/pedestrian.rst:336 msgid "Problem:" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:113 -#: ../../build/docs/basic/pedestrian.rst:153 -#: ../../build/docs/basic/pedestrian.rst:184 -#: ../../build/docs/basic/pedestrian.rst:219 -#: ../../build/docs/basic/pedestrian.rst:252 -#: ../../build/docs/basic/pedestrian.rst:306 -msgid "Walking" +#: ../../build/docs/basic/pedestrian.rst:122 +msgid "Get walking route" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:115 +#: ../../build/docs/basic/pedestrian.rst:124 msgid "from \"|place_1|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:116 +#: ../../build/docs/basic/pedestrian.rst:125 msgid "to \"|place_3|\"." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:118 +#: ../../build/docs/basic/pedestrian.rst:127 msgid "Calculate routes with costs in ``length`` in meters." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:124 -#: ../../build/docs/basic/pedestrian.rst:164 -#: ../../build/docs/basic/pedestrian.rst:198 -#: ../../build/docs/basic/pedestrian.rst:230 -#: ../../build/docs/basic/pedestrian.rst:263 -#: ../../build/docs/basic/pedestrian.rst:317 +#: ../../build/docs/basic/pedestrian.rst:128 +msgid "Create a view with the results data and geometry to be used in QGIS." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:131 +#: ../../build/docs/basic/pedestrian.rst:193 +#: ../../build/docs/basic/pedestrian.rst:228 +#: ../../build/docs/basic/pedestrian.rst:261 +#: ../../build/docs/basic/pedestrian.rst:293 +#: ../../build/docs/basic/pedestrian.rst:348 msgid "Solution:" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:125 -msgid "" -"The pedestrian wants to go from vertex |id_1| to vertex |id_3| (lines **5** " -"and **6**)." +#: ../../build/docs/basic/pedestrian.rst:132 +msgid "The pedestrian wants to go from vertex |id_1| to vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:126 -msgid "" -"The pedestrian's cost is in terms of length. In this case ``length`` (line " -"**3**)." +#: ../../build/docs/basic/pedestrian.rst:133 +msgid "The pedestrian's cost is in terms of length. In this case ``length``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:127 +#: ../../build/docs/basic/pedestrian.rst:134 msgid "" -"From a pedestrian perspective the graph is ``undirected`` (line **7**), that " -"is, the pedestrian can move in both directions on all segments." +"From a pedestrian perspective the graph is ``undirected``, that is, the " +"pedestrian can move in both directions on all segments." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:141 +#: ../../build/docs/basic/pedestrian.rst +msgid "Inner query" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:147 +msgid "Query formatted as ``TEXT`` used inside the function." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:149 msgid "" "The returned cost attribute represents the cost specified in the inner SQL " "query (``edges_sql::text`` argument). In this example cost is ``length`` in " -"unit \"meters\". Cost may be time, distance or any combination of both or " -"any other attributes or a custom formula." +"unit \"meters\". The exercises on this chapter will modify the cost." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:145 +#: ../../build/docs/basic/pedestrian.rst:154 msgid "" "``node`` and ``edge`` results may vary depending on the assignment of the " "identifiers to the vertices given by osm2pgrouting." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:149 +#: ../../build/docs/basic/pedestrian.rst:157 +msgid "" +"To create a view, ``JOIN`` the query results with the walk_net and capture " +"the ``geom`` in the view." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:160 +msgid "The query above is highlighted." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:161 +msgid "An additional ``SELECT`` is needed to display the data." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:174 +msgid "" +"Every time you make a change on the database, in QGIS, refresh the database " +"and move the view to the layers." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:178 msgid "Exercise 2: Many Pedestrians going to the same destination" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:155 -#: ../../build/docs/basic/pedestrian.rst:221 +#: ../../build/docs/basic/pedestrian.rst:182 +#: ../../build/docs/basic/pedestrian.rst:214 +#: ../../build/docs/basic/pedestrian.rst:250 +#: ../../build/docs/basic/pedestrian.rst:282 +#: ../../build/docs/basic/pedestrian.rst:337 +msgid "Walking" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:184 +#: ../../build/docs/basic/pedestrian.rst:252 msgid "from \"|place_1|\" and \"|place_2|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:156 +#: ../../build/docs/basic/pedestrian.rst:185 msgid "to the \"|place_3|\"." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:158 +#: ../../build/docs/basic/pedestrian.rst:187 msgid "Calculate routes with costs in ``length`` in kilometers." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:165 -msgid "" -"The pedestrians are departing at vertices |id_1| and |id_2| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:194 +msgid "The pedestrians are departing at vertices |id_1| and |id_2|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:166 -msgid "All pedestrians want to go to vertex |id_3| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:195 +msgid "All pedestrians want to go to vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:167 -msgid "The cost to be in kilometers using attribute ``length`` (line **3**)." +#: ../../build/docs/basic/pedestrian.rst:196 +msgid "The cost to be in kilometers using attribute ``length``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:180 +#: ../../build/docs/basic/pedestrian.rst:210 msgid "Exercise 3: Many Pedestrians departing from the same location" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:186 +#: ../../build/docs/basic/pedestrian.rst:216 msgid "from \"|place_3|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:187 +#: ../../build/docs/basic/pedestrian.rst:217 msgid "to \"|place_1|\" and \"|place_2|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:189 +#: ../../build/docs/basic/pedestrian.rst:219 msgid "" "Calculate routes using the ``cost`` which is in seconds for a walking speed " "of ``2 mts/sec``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:192 +#: ../../build/docs/basic/pedestrian.rst:222 msgid "See :doc:`graphs` for the costs setup." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:199 -msgid "All pedestrians are departing from vertex |id_3| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:229 +msgid "All pedestrians are departing from vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:200 -msgid "Pedestrians want to go to locations |id_1| and |id_2| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:230 +msgid "Pedestrians want to go to locations |id_1| and |id_2|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:201 -msgid "The ``cost`` column on ``walk_net`` is in seconds. (line **3**)" +#: ../../build/docs/basic/pedestrian.rst:231 +msgid "The ``cost`` column on ``walk_net`` is in seconds." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:215 +#: ../../build/docs/basic/pedestrian.rst:246 msgid "Exercise 4: Many Pedestrians going to different destinations" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:222 -msgid "to \"|place_4|\" and \"|place_5|\"" +#: ../../build/docs/basic/pedestrian.rst:253 +msgid "to \"|place_3|\" and \"|place_5|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:224 -#: ../../build/docs/basic/pedestrian.rst:257 +#: ../../build/docs/basic/pedestrian.rst:255 +#: ../../build/docs/basic/pedestrian.rst:287 msgid "" "Calculate routes with costs in minutes at walking speed ``s = 1.3 m/s``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:231 -#: ../../build/docs/basic/pedestrian.rst:318 -msgid "The pedestrians depart from |id_1| and |id_2| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:262 +msgid "The pedestrians depart from |id_1| and |id_2|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:232 -#: ../../build/docs/basic/pedestrian.rst:319 -msgid "" -"The pedestrians want to go to destinations |id_4| and |id_5| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:263 +msgid "The pedestrians want to go to destinations |id_3| and |id_5|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:233 -#: ../../build/docs/basic/pedestrian.rst:266 -#: ../../build/docs/basic/pedestrian.rst:320 +#: ../../build/docs/basic/pedestrian.rst:264 +#: ../../build/docs/basic/pedestrian.rst:296 +#: ../../build/docs/basic/pedestrian.rst:351 msgid "" "The cost to be in minutes, with a walking speed ``s = 1.3 m/s`` and ``t = d/" "s``." msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:1 -msgid "Inspecting the results, looking for totals (edge = -1):" -msgstr "" - -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:3 -msgid "From 10832 to vertex 11046 takes 9.82 minutes (seq = 134)" -msgstr "" - -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:5 -msgid "From 10832 to vertex 14824 takes 10.85 minutes (seq = 185)" -msgstr "" - -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:7 -msgid "From 593 to vertex 11046 takes 9.07 minutes (seq = 50)" -msgstr "" - -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:9 -msgid "From 593 to vertex 14824 takes 9.04 minutes (seq = 85)" -msgstr "" - -#: ../../build/docs/basic/pedestrian.rst:248 +#: ../../build/docs/basic/pedestrian.rst:278 msgid "Exercise 5: Combination of routes" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:254 +#: ../../build/docs/basic/pedestrian.rst:284 msgid "First pedestrian goes from \"|place_1|\" to \"|place_4|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:255 -msgid "Second pedestrian goes from \"|place_2|\" to \"|place_5|\"" +#: ../../build/docs/basic/pedestrian.rst:285 +msgid "Second pedestrian goes from \"|place_3|\" to \"|place_5|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:264 -msgid "" -"First pedestrian departs from |id_1| and the destination is |id_4| (line " -"**6**)." +#: ../../build/docs/basic/pedestrian.rst:294 +msgid "First pedestrian departs from |id_1| and the destination is |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:265 -msgid "" -"Second pedestrian departs from |id_2| and the destination is |id_5| (line " -"**7**)." +#: ../../build/docs/basic/pedestrian.rst:295 +msgid "Second pedestrian departs from |id_2| and the destination is |id_5|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:279 +#: ../../build/docs/basic/pedestrian.rst:310 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:281 +#: ../../build/docs/basic/pedestrian.rst:312 msgid "" "When the main goal is to calculate the total cost, without \"inspecting\" " "the `pgr_dijkstra` results, using ``pgr_dijkstraCost`` returns a more " "compact result." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:297 +#: ../../build/docs/basic/pedestrian.rst:328 msgid "" "Description of the parameters can be found in `pgr_dijkstraCost `__" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:302 +#: ../../build/docs/basic/pedestrian.rst:333 msgid "Exercise 6: Time for many Pedestrians going to different destinations" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:308 +#: ../../build/docs/basic/pedestrian.rst:339 msgid "from \"|place_1|\" or \"|place_2|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:309 +#: ../../build/docs/basic/pedestrian.rst:340 msgid "to \"|place_4|\" or \"|place_5|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:311 +#: ../../build/docs/basic/pedestrian.rst:342 msgid "Get only the cost in minutes." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:321 +#: ../../build/docs/basic/pedestrian.rst:349 +msgid "The pedestrians depart from |id_1| and |id_2| (line **5**)." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:350 +msgid "" +"The pedestrians want to go to destinations |id_4| and |id_5| (line **6**)." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:352 msgid "Result as aggregated costs." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:333 +#: ../../build/docs/basic/pedestrian.rst:364 msgid "" -"Compare with `Exercise 4: Many Pedestrians going to different destinations`_ " -"'s note." +"The sanme results can be obtained from the ``pedestrian_many_to_many`` view:" msgstr "" diff --git a/locale/en/LC_MESSAGES/basic/vehicle.po b/locale/en/LC_MESSAGES/basic/vehicle.po index 7c9f1684c..c7ff542bd 100644 --- a/locale/en/LC_MESSAGES/basic/vehicle.po +++ b/locale/en/LC_MESSAGES/basic/vehicle.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,101 +20,101 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/basic/vehicle.rst:12 +#: ../../build/docs/basic/vehicle.rst:7 msgid "Vehicle Routing" msgstr "" -#: ../../build/docs/basic/vehicle.rst:18 +#: ../../build/docs/basic/vehicle.rst:13 msgid "" "Routing is not limited to pedestrians and most of the time is also used for " "routing vehicles." msgstr "" -#: ../../build/docs/basic/vehicle.rst:21 +#: ../../build/docs/basic/vehicle.rst:16 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/vehicle.rst:24 +#: ../../build/docs/basic/vehicle.rst:19 msgid "Routing for vehicles" msgstr "" -#: ../../build/docs/basic/vehicle.rst:26 +#: ../../build/docs/basic/vehicle.rst:21 msgid "" "A query for vehicle routing generally differs from routing for pedestrians:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:28 +#: ../../build/docs/basic/vehicle.rst:23 msgid "The road segments are considered `directed`" msgstr "" -#: ../../build/docs/basic/vehicle.rst:29 +#: ../../build/docs/basic/vehicle.rst:24 msgid "Costs can be:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:31 +#: ../../build/docs/basic/vehicle.rst:26 msgid "Distance" msgstr "" -#: ../../build/docs/basic/vehicle.rst:32 +#: ../../build/docs/basic/vehicle.rst:27 msgid "Time" msgstr "" -#: ../../build/docs/basic/vehicle.rst:33 +#: ../../build/docs/basic/vehicle.rst:28 msgid "Euros" msgstr "" -#: ../../build/docs/basic/vehicle.rst:34 +#: ../../build/docs/basic/vehicle.rst:29 msgid "Pesos" msgstr "" -#: ../../build/docs/basic/vehicle.rst:35 +#: ../../build/docs/basic/vehicle.rst:30 msgid "Dollars" msgstr "" -#: ../../build/docs/basic/vehicle.rst:36 +#: ../../build/docs/basic/vehicle.rst:31 msgid "CO\\ :sub:`2`\\ emissions" msgstr "" -#: ../../build/docs/basic/vehicle.rst:37 +#: ../../build/docs/basic/vehicle.rst:32 msgid "Wear and tear on the vehicle, etc." msgstr "" -#: ../../build/docs/basic/vehicle.rst:39 +#: ../../build/docs/basic/vehicle.rst:34 msgid "" "The ``reverse_cost`` attribute must be taken into account on two way streets." msgstr "" -#: ../../build/docs/basic/vehicle.rst:41 +#: ../../build/docs/basic/vehicle.rst:36 msgid "The costs should have the same units as the ``cost`` attribute" msgstr "" -#: ../../build/docs/basic/vehicle.rst:42 +#: ../../build/docs/basic/vehicle.rst:37 msgid "``cost`` and ``reverse_cost`` values can be different" msgstr "" -#: ../../build/docs/basic/vehicle.rst:44 +#: ../../build/docs/basic/vehicle.rst:39 msgid "Due to the fact that there are roads that are **one way**" msgstr "" -#: ../../build/docs/basic/vehicle.rst:46 +#: ../../build/docs/basic/vehicle.rst:41 msgid "Depending on the geometry, the valid way:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:48 +#: ../../build/docs/basic/vehicle.rst:43 msgid "(``source, target``) segment ``IF cost >= 0 AND reverse_cost < 0``" msgstr "" -#: ../../build/docs/basic/vehicle.rst:49 +#: ../../build/docs/basic/vehicle.rst:44 msgid "(``target, source``) segment ``IF cost < 0 AND reverse_cost >= 0``" msgstr "" -#: ../../build/docs/basic/vehicle.rst:51 +#: ../../build/docs/basic/vehicle.rst:46 msgid "" "A **wrong way** is indicated with a **negative value** and is not inserted " "in the graph for processing." msgstr "" -#: ../../build/docs/basic/vehicle.rst:54 +#: ../../build/docs/basic/vehicle.rst:49 msgid "" "**Two way** roads - ``IF cost >= 0 AND reverse_cost >= 0`` and their values " "can be different. For example, it is faster going down hill on a sloped " @@ -123,288 +123,300 @@ msgid "" "etc., or they can be a combination of multiple parameters." msgstr "" -#: ../../build/docs/basic/vehicle.rst:61 +#: ../../build/docs/basic/vehicle.rst:56 msgid "" "The following queries indicate the number of road segments, where a \"one " "way\" rule applies:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:62 +#: ../../build/docs/basic/vehicle.rst:57 msgid "Number of (``source, target``) segments with ``cost < 0`` (line **3**)." msgstr "" -#: ../../build/docs/basic/vehicle.rst:71 +#: ../../build/docs/basic/vehicle.rst:66 msgid "" "Number of (``target, source``) segments with ``reverse_cost < 0`` (line " "**3**)." msgstr "" -#: ../../build/docs/basic/vehicle.rst:83 +#: ../../build/docs/basic/vehicle.rst:78 msgid "Exercise 1: Vehicle routing - going" msgstr "" -#: ../../build/docs/basic/vehicle.rst:86 ../../build/docs/basic/vehicle.rst:112 -#: ../../build/docs/basic/vehicle.rst:139 -#: ../../build/docs/basic/vehicle.rst:185 -#: ../../build/docs/basic/vehicle.rst:257 -#: ../../build/docs/basic/vehicle.rst:292 +#: ../../build/docs/basic/vehicle.rst:81 ../../build/docs/basic/vehicle.rst:107 +#: ../../build/docs/basic/vehicle.rst:135 +#: ../../build/docs/basic/vehicle.rst:183 +#: ../../build/docs/basic/vehicle.rst:210 +#: ../../build/docs/basic/vehicle.rst:282 +#: ../../build/docs/basic/vehicle.rst:318 msgid "Problem:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:87 +#: ../../build/docs/basic/vehicle.rst:82 msgid "From the \"|place_1|\" to the \"|place_3|\" by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:89 +#: ../../build/docs/basic/vehicle.rst:84 msgid "From |place_1| to the |place_3| by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:94 ../../build/docs/basic/vehicle.rst:120 -#: ../../build/docs/basic/vehicle.rst:147 -#: ../../build/docs/basic/vehicle.rst:193 -#: ../../build/docs/basic/vehicle.rst:265 -#: ../../build/docs/basic/vehicle.rst:296 +#: ../../build/docs/basic/vehicle.rst:89 ../../build/docs/basic/vehicle.rst:115 +#: ../../build/docs/basic/vehicle.rst:143 +#: ../../build/docs/basic/vehicle.rst:188 +#: ../../build/docs/basic/vehicle.rst:290 +#: ../../build/docs/basic/vehicle.rst:322 msgid "Solution:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:95 +#: ../../build/docs/basic/vehicle.rst:90 msgid "``cost`` and ``reverse_cost`` columns, are in seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:96 +#: ../../build/docs/basic/vehicle.rst:91 msgid "The vehicle is going from vertex |id_1| to |id_3|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:109 +#: ../../build/docs/basic/vehicle.rst:104 msgid "Exercise 2: Vehicle routing - returning" msgstr "" -#: ../../build/docs/basic/vehicle.rst:113 +#: ../../build/docs/basic/vehicle.rst:108 msgid "From \"|place_3|\" to the \"|place_1|\" by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:115 +#: ../../build/docs/basic/vehicle.rst:110 msgid "From |place_3| to the |place_1| by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:121 -#: ../../build/docs/basic/vehicle.rst:156 +#: ../../build/docs/basic/vehicle.rst:116 +#: ../../build/docs/basic/vehicle.rst:152 msgid "The vehicle is going from vertex |id_3| to |id_1|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:132 +#: ../../build/docs/basic/vehicle.rst:128 msgid "" "On a directed graph, going and coming back routes, most of the time are " "different." msgstr "" -#: ../../build/docs/basic/vehicle.rst:136 +#: ../../build/docs/basic/vehicle.rst:132 msgid "Exercise 3: Vehicle routing when time is money" msgstr "" -#: ../../build/docs/basic/vehicle.rst:140 -msgid "From \"|place_3|\" to the \"|place_1|\" by taxi." +#: ../../build/docs/basic/vehicle.rst:136 +msgid "From \"|place_3|\" to the \"|place_1|\"" msgstr "" -#: ../../build/docs/basic/vehicle.rst:142 -msgid "From |place_3| to |place_1| by taxi." +#: ../../build/docs/basic/vehicle.rst:138 +#: ../../build/docs/basic/vehicle.rst:213 +#: ../../build/docs/basic/vehicle.rst:285 +msgid "From |place_3| to |place_1|" msgstr "" -#: ../../build/docs/basic/vehicle.rst:148 -msgid "Use the ``taxi_net``." +#: ../../build/docs/basic/vehicle.rst:144 +msgid "Use the ``vehicle_net``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:149 +#: ../../build/docs/basic/vehicle.rst:145 msgid "The cost is ``$100 per hour``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:151 +#: ../../build/docs/basic/vehicle.rst:147 msgid "Using ``cost`` and ``reverse_cost`` columns, which are in seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:153 +#: ../../build/docs/basic/vehicle.rst:149 msgid "The duration in hours is ``cost / 3600``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:154 +#: ../../build/docs/basic/vehicle.rst:150 msgid "The cost in ``dollars`` is ``cost / 3600 * 100``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:168 +#: ../../build/docs/basic/vehicle.rst:165 msgid "Comparing with `Exercise 2: Vehicle routing - returning`_:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:170 +#: ../../build/docs/basic/vehicle.rst:167 msgid "The total number of records are identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:171 +#: ../../build/docs/basic/vehicle.rst:168 msgid "The node sequence is identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:172 +#: ../../build/docs/basic/vehicle.rst:169 msgid "The edge sequence is identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:173 +#: ../../build/docs/basic/vehicle.rst:170 msgid "The cost and agg_cost results are directly proportional." msgstr "" -#: ../../build/docs/basic/vehicle.rst:177 +#: ../../build/docs/basic/vehicle.rst:174 msgid "Cost manipulations" msgstr "" -#: ../../build/docs/basic/vehicle.rst:179 +#: ../../build/docs/basic/vehicle.rst:176 msgid "" "In this workshop, costs are going to be manipulated using the " "``configuration`` table." msgstr "" -#: ../../build/docs/basic/vehicle.rst:182 -msgid "Exercise 4: Vehicle routing without penalization" -msgstr "" - -#: ../../build/docs/basic/vehicle.rst:186 -msgid "From the \"|place_3|\" to \"|place_1|\"" +#: ../../build/docs/basic/vehicle.rst:180 +msgid "Exercise 4: Create a penalazied view" msgstr "" -#: ../../build/docs/basic/vehicle.rst:188 -#: ../../build/docs/basic/vehicle.rst:260 -msgid "From |place_3| to |place_1|" +#: ../../build/docs/basic/vehicle.rst:184 +msgid "" +"Add a penalty column on the :code:`configuration` table with default value " +"of 1. Create a view that uses the value of the column to modify the costs." msgstr "" -#: ../../build/docs/basic/vehicle.rst:194 -msgid "Add a penalty column" +#: ../../build/docs/basic/vehicle.rst:189 +msgid "Add the penalty column with the default value of ``1``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:196 -msgid "All roads have a ``penalty`` of ``1``." +#: ../../build/docs/basic/vehicle.rst:195 +msgid "Create the penalized vehicle net" msgstr "" -#: ../../build/docs/basic/vehicle.rst:202 +#: ../../build/docs/basic/vehicle.rst:201 msgid "The vehicle's cost in this case will be in penalized seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:204 -msgid "Costs are to be multiplied by :code:`penalty` (lines **5** and **6**)." +#: ../../build/docs/basic/vehicle.rst:203 +msgid "Costs are to be multiplied by :code:`penalty`" msgstr "" -#: ../../build/docs/basic/vehicle.rst:205 +#: ../../build/docs/basic/vehicle.rst:204 msgid "Costs won't change (:math:`cost * 1 = cost`)." msgstr "" #: ../../build/docs/basic/vehicle.rst:207 -msgid "" -"The :code:`configuration` table is linked with the :code:`ways` table by " -"the :code:`tag_id` field using a ``JOIN``" +msgid "Exercise 5: Vehicle routing without penalization" +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:211 +msgid "From the \"|place_3|\" to \"|place_1|\" use the penalized view." msgstr "" -#: ../../build/docs/basic/vehicle.rst:209 +#: ../../build/docs/basic/vehicle.rst:217 msgid "The vehicle is going from vertex |id_3| to vertex |id_1|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:224 -msgid "Exercise 5: Vehicle routing with penalization" +#: ../../build/docs/basic/vehicle.rst:229 +msgid "" +"Simple check, the results are the same as the :code:`vehicle_route_coming` " +"view." msgstr "" -#: ../../build/docs/basic/vehicle.rst:227 +#: ../../build/docs/basic/vehicle.rst:242 +msgid "Exercise 6: Penalizing based on the kind of roads" +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:245 msgid "Concept:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:228 +#: ../../build/docs/basic/vehicle.rst:246 msgid "" "Change the cost values for the :code:`configuration` table, in such a way, " "that the" msgstr "" -#: ../../build/docs/basic/vehicle.rst:230 +#: ../../build/docs/basic/vehicle.rst:248 msgid "Bicycle roads are not used." msgstr "" -#: ../../build/docs/basic/vehicle.rst:232 +#: ../../build/docs/basic/vehicle.rst:250 msgid "``penalty < 0`` makes the road not to be included in the graph." msgstr "" -#: ../../build/docs/basic/vehicle.rst:234 +#: ../../build/docs/basic/vehicle.rst:252 msgid "Using residential roads is not encouraged." msgstr "" -#: ../../build/docs/basic/vehicle.rst:236 +#: ../../build/docs/basic/vehicle.rst:254 msgid "``penalty > 1`` makes the road slower for the calculations." msgstr "" -#: ../../build/docs/basic/vehicle.rst:238 +#: ../../build/docs/basic/vehicle.rst:256 msgid "Using \"faster\" roads is highly encouraged." msgstr "" -#: ../../build/docs/basic/vehicle.rst:240 +#: ../../build/docs/basic/vehicle.rst:258 msgid "``penalty < 1`` makes the road faster for the calculations." msgstr "" -#: ../../build/docs/basic/vehicle.rst:242 +#: ../../build/docs/basic/vehicle.rst:260 msgid "All other roads are not penalized." msgstr "" -#: ../../build/docs/basic/vehicle.rst:244 +#: ../../build/docs/basic/vehicle.rst:262 msgid "``penalty = 1`` does not modify the road times." msgstr "" -#: ../../build/docs/basic/vehicle.rst:246 +#: ../../build/docs/basic/vehicle.rst:264 msgid "The ``penalty`` values can be changed with ``UPDATE`` queries." msgstr "" -#: ../../build/docs/basic/vehicle.rst:248 +#: ../../build/docs/basic/vehicle.rst:266 msgid "These values are an exaggeration." msgstr "" -#: ../../build/docs/basic/vehicle.rst:258 +#: ../../build/docs/basic/vehicle.rst:279 +msgid "Exercise 7: Vehicle routing with penalization" +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:283 msgid "From the \"|place_3|\" to \"|place_1|\" with penalization." msgstr "" -#: ../../build/docs/basic/vehicle.rst:266 +#: ../../build/docs/basic/vehicle.rst:291 msgid "" -"Using the same query from `Exercise 4: Vehicle routing without penalization`_" +"Using the same query from `Exercise 5: Vehicle routing without penalization`_" msgstr "" -#: ../../build/docs/basic/vehicle.rst:279 -msgid "Comparing with `Exercise 3: Vehicle routing when time is money`_:" +#: ../../build/docs/basic/vehicle.rst:304 +msgid "Comparing with `Exercise 5: Vehicle routing without penalization`_" msgstr "" -#: ../../build/docs/basic/vehicle.rst:281 +#: ../../build/docs/basic/vehicle.rst:306 +msgid "The query is the same." +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:307 msgid "The total number of records changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:283 +#: ../../build/docs/basic/vehicle.rst:309 msgid "The node sequence changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:284 +#: ../../build/docs/basic/vehicle.rst:310 msgid "The edge sequence changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:286 +#: ../../build/docs/basic/vehicle.rst:312 msgid "The costs do not change proportionally." msgstr "" -#: ../../build/docs/basic/vehicle.rst:289 -msgid "Exercise 6: Time in seconds of penalized route using a view" +#: ../../build/docs/basic/vehicle.rst:315 +msgid "Exercise 8: Original time of penalized route" msgstr "" -#: ../../build/docs/basic/vehicle.rst:293 +#: ../../build/docs/basic/vehicle.rst:319 msgid "Get the times in seconds of a penalized route" msgstr "" -#: ../../build/docs/basic/vehicle.rst:297 +#: ../../build/docs/basic/vehicle.rst:323 msgid "" "Create a penalized view by joining the ``vehicle_net`` joined with the " "``configuration`` table" msgstr "" -#: ../../build/docs/basic/vehicle.rst:300 +#: ../../build/docs/basic/vehicle.rst:326 msgid "" -"Use the inner query from `Exercise 5: Vehicle routing with penalization`_" -msgstr "" - -#: ../../build/docs/basic/vehicle.rst:308 -msgid "Get the route ``configuration`` table" +"Use the inner query from `Exercise 5: Vehicle routing without penalization`_" msgstr "" diff --git a/locale/en/LC_MESSAGES/general-intro/introduction.po b/locale/en/LC_MESSAGES/general-intro/introduction.po index c800dfa62..7c9f7e84d 100644 --- a/locale/en/LC_MESSAGES/general-intro/introduction.po +++ b/locale/en/LC_MESSAGES/general-intro/introduction.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,81 +20,77 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/general-intro/introduction.rst:11 +#: ../../build/docs/general-intro/introduction.rst:6 msgid "Introduction" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:13 +#: ../../build/docs/general-intro/introduction.rst:8 msgid "|pgrouting-web| adds routing functionality to |postgis-web|." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:15 +#: ../../build/docs/general-intro/introduction.rst:10 msgid "" "Please see the :doc:`contents <../index>` for full content of FOSS4G " -"Auckland workshop. This workshop covers two levels for using pgRouting: " +"Hiroshima workshop. This workshop covers two levels for using pgRouting: " "`Basic`_ and `Advanced`_." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:20 +#: ../../build/docs/general-intro/introduction.rst:15 msgid "Basic" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:22 +#: ../../build/docs/general-intro/introduction.rst:17 msgid "" "This level will demonstrate the routing functionality by providing examples " -"using |osm-web| road network data from Auckland. Covering topics from how to " -"prepare the data, making routing queries, understanding the results, up to " -"writing a custom 'plpgsql' function that can be integrated with other FOSS " -"tools." +"using |osm-web| road network data from Hiroshima. Covering topics from how " +"to prepare the data, making routing queries, understanding the results, up " +"to writing a custom 'plpgsql' function that can be integrated with other " +"FOSS tools." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:28 +#: ../../build/docs/general-intro/introduction.rst:23 msgid "Installing pgRouting." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:29 +#: ../../build/docs/general-intro/introduction.rst:24 msgid "Creating a routing topology." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:30 +#: ../../build/docs/general-intro/introduction.rst:25 msgid "Importing |osm-web| road network data." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:31 +#: ../../build/docs/general-intro/introduction.rst:26 msgid "Using pgRouting algorithms." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:32 -msgid "Writing advanced queries." +#: ../../build/docs/general-intro/introduction.rst:27 +msgid "Writing queries." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:33 -msgid "Writing a custom PostgreSQL stored procedure in `plpgsql`." +#: ../../build/docs/general-intro/introduction.rst:28 +msgid "Writing a custom PostgreSQL stored function." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:36 -#: ../../build/docs/general-intro/introduction.rst:49 +#: ../../build/docs/general-intro/introduction.rst:31 +#: ../../build/docs/general-intro/introduction.rst:43 msgid "Prerequisites" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:37 -msgid "Workshop level: basic" -msgstr "" - -#: ../../build/docs/general-intro/introduction.rst:38 -msgid "Previous knowledge: SQL (PostgreSQL, PostGIS)" +#: ../../build/docs/general-intro/introduction.rst:32 +msgid "Previous knowledge: PostgreSQL, PostGIS" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:39 -#: ../../build/docs/general-intro/introduction.rst:52 +#: ../../build/docs/general-intro/introduction.rst:33 +#: ../../build/docs/general-intro/introduction.rst:45 msgid "Equipments: `OSGeoLive `__ (17)" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:42 +#: ../../build/docs/general-intro/introduction.rst:36 msgid "Advanced" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:44 +#: ../../build/docs/general-intro/introduction.rst:38 msgid "" "pgRouting is an extendible open-source library that provides a variety of " "tools for graph algorithms, this is not limited to routing vehicles. The " @@ -102,84 +98,77 @@ msgid "" "pgRouting." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:50 -msgid "Workshop level: Advanced" -msgstr "" - -#: ../../build/docs/general-intro/introduction.rst:51 -msgid "Previous knowledge: SQL (PostgreSQL, PostGIS, pgRouting)" +#: ../../build/docs/general-intro/introduction.rst:44 +msgid "Previous knowledge: PostgreSQL, PostGIS, pgRouting basic level." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:55 +#: ../../build/docs/general-intro/introduction.rst:48 msgid "Aknowledments" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:58 +#: ../../build/docs/general-intro/introduction.rst:51 msgid "Sponsored by" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:59 -#: ../../build/docs/general-intro/introduction.rst:64 +#: ../../build/docs/general-intro/introduction.rst:52 msgid "Paragon Corporation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:70 -msgid "Developers & presenters of FOSS4G Auckland workshop:" +#: ../../build/docs/general-intro/introduction.rst:57 +msgid "Erosion freelancers" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:71 +#: ../../build/docs/general-intro/introduction.rst:63 +msgid "Developers & presenters of FOSS4G Hiroshima workshop:" +msgstr "" + +#: ../../build/docs/general-intro/introduction.rst:64 msgid "" "*Vicky Vergara* is a freelance developer from Mexico. She is the core " "developer of the pgRouting project and a GSoC Mentor. She also serves as an " "OSGeo Charter member." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:74 -msgid "" -"*Ramón Ríos* is a freelance developer from Mexico. He is the Lead Engineer " -"for ParkUpFront." -msgstr "" - -#: ../../build/docs/general-intro/introduction.rst:79 +#: ../../build/docs/general-intro/introduction.rst:68 msgid "Past and present tutors and developers:" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:80 +#: ../../build/docs/general-intro/introduction.rst:69 msgid "" -"Daniel Kastl, José Ríos, Ko Nagase, Stephen Woodbridge, Swapnil Joshi, Rajat " -"Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara" +"Daniel Kastl, Iosefa Persival, José Ríos, Ko Nagase, Stephen Woodbridge, " +"Swapnil Joshi, Rajat Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:91 +#: ../../build/docs/general-intro/introduction.rst:81 msgid "Past and present supporters:" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:92 -msgid "Georepublic, Paragon Corporation" +#: ../../build/docs/general-intro/introduction.rst:82 +msgid "erosion Georepublic, Paragon Corporation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:96 +#: ../../build/docs/general-intro/introduction.rst:87 msgid "License" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:97 +#: ../../build/docs/general-intro/introduction.rst:88 msgid "" "This work is licensed under a `Creative Commons Attribution-Share Alike 3.0 " "License `_." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:103 +#: ../../build/docs/general-intro/introduction.rst:94 msgid "Become a sponsor" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:105 +#: ../../build/docs/general-intro/introduction.rst:96 msgid "The Linux Foundation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:110 +#: ../../build/docs/general-intro/introduction.rst:101 msgid "Open Collective" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:115 +#: ../../build/docs/general-intro/introduction.rst:106 msgid "OSGeo Foundation" msgstr "" diff --git a/locale/en/LC_MESSAGES/general-intro/overview.po b/locale/en/LC_MESSAGES/general-intro/overview.po index 2d6882268..4c23e3d0c 100644 --- a/locale/en/LC_MESSAGES/general-intro/overview.po +++ b/locale/en/LC_MESSAGES/general-intro/overview.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,116 +20,91 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/general-intro/overview.rst:11 -msgid "Software and Data Overview" +#: ../../build/docs/general-intro/overview.rst:6 +msgid "Software and Data Source Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:18 +#: ../../build/docs/general-intro/overview.rst:13 +msgid "pgRouting is a community project of OSGeo." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:15 msgid "" "This workshop uses several free and open source softwares for geospatial " "tools. Most of these softwares are related to other open source software " "projects. Here we mention the most important ones." msgstr "" -#: ../../build/docs/general-intro/overview.rst:23 +#: ../../build/docs/general-intro/overview.rst:19 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/general-intro/overview.rst:26 +#: ../../build/docs/general-intro/overview.rst:22 msgid "pgRouting Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:32 +#: ../../build/docs/general-intro/overview.rst:28 msgid "" "pgRouting extends the PostGIS / PostgreSQL geospatial database to provide " "geospatial routing functionality." msgstr "" -#: ../../build/docs/general-intro/overview.rst:35 +#: ../../build/docs/general-intro/overview.rst:31 msgid "Advantages of the database routing approach are:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:37 +#: ../../build/docs/general-intro/overview.rst:33 msgid "" -"Data and attributes can be modified by many clients, like QGIS or by " -"directly using PL/pgSQL. The clients can either be personal computers or " -"mobile devices." +"Data and attributes are stored on a PostreSQL database and as such they can " +"be modified can be modified by many clients." msgstr "" -#: ../../build/docs/general-intro/overview.rst:40 +#: ../../build/docs/general-intro/overview.rst:35 msgid "" "Data changes can be reflected instantaneously through the routing engine. " -"There is no need for precalculation." +"There is no need for pre-calculation." msgstr "" -#: ../../build/docs/general-intro/overview.rst:42 +#: ../../build/docs/general-intro/overview.rst:37 msgid "" "The “cost” parameter can be dynamically calculated through SQL and its value " "can come from multiple fields or tables." msgstr "" -#: ../../build/docs/general-intro/overview.rst:45 +#: ../../build/docs/general-intro/overview.rst:40 msgid "Some of the pgRouting library core features are:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:47 -msgid "" -"`Dijkstra Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:48 -msgid "" -"`Johnson's Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:49 -msgid "" -"`Floyd-Warshall Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:50 -msgid "" -"`A* Search Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:51 -msgid "" -"`Bi-directional Dijkstra `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:52 +#: ../../build/docs/general-intro/overview.rst:42 msgid "" -"`Bi-directional A* `__" +"`Functions based on Dijkstra Algorithm `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:53 +#: ../../build/docs/general-intro/overview.rst:43 msgid "" -"`Traveling Salesperson Problem `__" +"`Functions based on `A* Search Algorithm `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:54 +#: ../../build/docs/general-intro/overview.rst:44 msgid "" -"`Driving Distance `__" +"`Graph commponent functions `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:55 +#: ../../build/docs/general-intro/overview.rst:45 msgid "" "`and many more `_" msgstr "" -#: ../../build/docs/general-intro/overview.rst:57 +#: ../../build/docs/general-intro/overview.rst:47 msgid "" "pgRouting is an open source software available under the GPLv2 license and " "is supported and maintained by the pgRouting community." msgstr "" -#: ../../build/docs/general-intro/overview.rst:60 +#: ../../build/docs/general-intro/overview.rst:50 msgid "" "`pgRouting `_ is part of `OSGeo Community Projects " "`__ under `OSGeo " @@ -141,15 +116,15 @@ msgstr "" msgid "Check it out on OSGeoLive" msgstr "" -#: ../../build/docs/general-intro/overview.rst:65 +#: ../../build/docs/general-intro/overview.rst:55 msgid "https://live.osgeo.org/en/overview/pgrouting_overview.html" msgstr "" -#: ../../build/docs/general-intro/overview.rst:69 +#: ../../build/docs/general-intro/overview.rst:59 msgid "osm2pgrouting Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:76 +#: ../../build/docs/general-intro/overview.rst:66 msgid "" "osm2pgrouting is a command line tool that imports OpenStreetMap data into a " "pgRouting database. It builds the routing network topology automatically and " @@ -158,7 +133,7 @@ msgid "" "site." msgstr "" -#: ../../build/docs/general-intro/overview.rst:81 +#: ../../build/docs/general-intro/overview.rst:71 msgid "osm2pgrouting is available under the GPLv2 license." msgstr "" @@ -166,41 +141,58 @@ msgstr "" msgid "Wiki" msgstr "" -#: ../../build/docs/general-intro/overview.rst:83 +#: ../../build/docs/general-intro/overview.rst:73 msgid "https://github.com/pgRouting/osm2pgrouting/wiki" msgstr "" -#: ../../build/docs/general-intro/overview.rst:87 +#: ../../build/docs/general-intro/overview.rst:77 msgid "OpenStreetMap Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:101 +#: ../../build/docs/general-intro/overview.rst:83 msgid "" "OpenStreetMap is an incredible data source for pgRouting because it has no " "technical restrictions in terms of processing the data. Data availability " "still varies from country to country, but the worldwide coverage is " -"improving day by day." +"improving day by day. In its own words:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:106 +#: ../../build/docs/general-intro/overview.rst:88 +msgid "" +"OpenStreetMap (OSM) is dedicated to creating and providing geographic data, " +"such as street maps, worldwide, for free." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:91 +msgid "" +"Most maps considered 'free' actually have legal or technical restrictions on " +"their use. These restrictions hold back anyone from using them in creative, " +"productive or unexpected ways, and make every map a silo of data and effort." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:95 +msgid "`Source: OSM Press Wiki `_" +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:97 msgid "OpenStreetMap uses a topological data structure:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:108 +#: ../../build/docs/general-intro/overview.rst:99 msgid "Nodes are points with a geographic position." msgstr "" -#: ../../build/docs/general-intro/overview.rst:109 +#: ../../build/docs/general-intro/overview.rst:100 msgid "Ways are lists of nodes, representing a polyline or polygon." msgstr "" -#: ../../build/docs/general-intro/overview.rst:110 +#: ../../build/docs/general-intro/overview.rst:101 msgid "" "Relations are groups of nodes, ways and other relations which can be " "assigned certain properties." msgstr "" -#: ../../build/docs/general-intro/overview.rst:112 +#: ../../build/docs/general-intro/overview.rst:103 msgid "" "Properties can be assigned to nodes, ways or relations and consist of :code:" "`name = value` pairs." @@ -210,6 +202,6 @@ msgstr "" msgid "Website" msgstr "" -#: ../../build/docs/general-intro/overview.rst:115 +#: ../../build/docs/general-intro/overview.rst:106 msgid "https://www.openstreetmap.org" msgstr "" diff --git a/locale/en/LC_MESSAGES/un_sdg/data.po b/locale/en/LC_MESSAGES/un_sdg/data.po index 2c42b1687..91750cb2f 100644 --- a/locale/en/LC_MESSAGES/un_sdg/data.po +++ b/locale/en/LC_MESSAGES/un_sdg/data.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Workshop FOSS4G Belém 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:17+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,123 +20,123 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" -#: ../../build/docs/un_sdg/data.rst:11 +#: ../../build/docs/un_sdg/data.rst:6 msgid "Data for Sustainable Development Goals" msgstr "" -#: ../../build/docs/un_sdg/data.rst:16 +#: ../../build/docs/un_sdg/data.rst:11 msgid "" "To be able to use pgRouting, data has to be imported into a database. This " "chapter will use ``osm2pgrouting`` to get that the data from OpenStreetMap " "(OSM). This data will be used for exercises in further chapters." msgstr "" -#: ../../build/docs/un_sdg/data.rst:20 +#: ../../build/docs/un_sdg/data.rst:15 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/un_sdg/data.rst:23 +#: ../../build/docs/un_sdg/data.rst:18 msgid "Work Directory for pgRouting data manipulation" msgstr "" -#: ../../build/docs/un_sdg/data.rst:31 +#: ../../build/docs/un_sdg/data.rst:26 msgid "Mumbai database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:33 +#: ../../build/docs/un_sdg/data.rst:28 msgid "pgRouting is pre-installed as an extension which requires:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:35 +#: ../../build/docs/un_sdg/data.rst:30 msgid "Supported PostgreSQL version" msgstr "" -#: ../../build/docs/un_sdg/data.rst:36 +#: ../../build/docs/un_sdg/data.rst:31 msgid "Supported PostGIS version" msgstr "" -#: ../../build/docs/un_sdg/data.rst:38 +#: ../../build/docs/un_sdg/data.rst:33 msgid "" "These requirements are met on OSGeoLive. When the required software is " "installed, open a terminal window by pressing ``ctrl-alt-t`` and follow the " "instructions. Information about installing OSGeoLive can be found in :doc:" -"`../general-intro/osgeolive` of this workshop." +"`../appendix/osgeolive` of this workshop." msgstr "" -#: ../../build/docs/un_sdg/data.rst:43 +#: ../../build/docs/un_sdg/data.rst:38 msgid "" "If you don't have pgRouting installed. You can find the installation " "procedure at this `link `__" msgstr "" -#: ../../build/docs/un_sdg/data.rst:49 +#: ../../build/docs/un_sdg/data.rst:44 msgid "Create Mumbai database compatible with pgRouting" msgstr "" -#: ../../build/docs/un_sdg/data.rst:51 +#: ../../build/docs/un_sdg/data.rst:46 msgid "Use the following command to create ``mumbai`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:57 ../../build/docs/un_sdg/data.rst:190 +#: ../../build/docs/un_sdg/data.rst:52 ../../build/docs/un_sdg/data.rst:185 msgid "To connect to the database do the following" msgstr "" -#: ../../build/docs/un_sdg/data.rst:63 ../../build/docs/un_sdg/data.rst:197 +#: ../../build/docs/un_sdg/data.rst:58 ../../build/docs/un_sdg/data.rst:192 msgid "" "After connecting to the database, first step is to create ``EXTENSION`` to " "enable pgRouting and PostGIS in the database. Then add the ``SCHEMA`` for " "each table." msgstr "" -#: ../../build/docs/un_sdg/data.rst:73 +#: ../../build/docs/un_sdg/data.rst:68 msgid "Get the Mumbai Data" msgstr "" -#: ../../build/docs/un_sdg/data.rst:74 +#: ../../build/docs/un_sdg/data.rst:69 msgid "" "The pgRouting workshop will make use of OpenStreetMap data of an area in " "Mumbai City. The instructions for downloading the data are given below." msgstr "" -#: ../../build/docs/un_sdg/data.rst:78 +#: ../../build/docs/un_sdg/data.rst:73 msgid "Downloading Mumbai data from OSGeo" msgstr "" -#: ../../build/docs/un_sdg/data.rst:80 +#: ../../build/docs/un_sdg/data.rst:75 msgid "" "The following command is used to download the snapshot of the Mumbai area " "data used in this workshop, using the download service of OSGeo." msgstr "" -#: ../../build/docs/un_sdg/data.rst:83 +#: ../../build/docs/un_sdg/data.rst:78 msgid "" "The Mumbai data for this workshop depends on this `snapshot `__." msgstr "" -#: ../../build/docs/un_sdg/data.rst:93 +#: ../../build/docs/un_sdg/data.rst:88 msgid "Downloading Mumbai data from OpenStreetMap (OSM)" msgstr "" -#: ../../build/docs/un_sdg/data.rst:94 +#: ../../build/docs/un_sdg/data.rst:89 msgid "" "The following command is used to download the OpenStreetMap data of the area " "in Mumbai, India." msgstr "" -#: ../../build/docs/un_sdg/data.rst:96 +#: ../../build/docs/un_sdg/data.rst:91 msgid "" "OpenStreetMap data changes on a day to day basis, therefore if this data is " "used, the results might change and some queries might need adjustments. The " "command was used to take the snapshot of the data on June 2021." msgstr "" -#: ../../build/docs/un_sdg/data.rst:107 +#: ../../build/docs/un_sdg/data.rst:102 msgid "Upload Mumbai data to the database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:109 ../../build/docs/un_sdg/data.rst:238 +#: ../../build/docs/un_sdg/data.rst:104 ../../build/docs/un_sdg/data.rst:233 msgid "" "The next step is to run ``osm2pgrouting`` converter, which is a command line " "tool that inserts the data in the database, \"ready\" to be used with " @@ -144,32 +144,32 @@ msgid "" "about ``osm2pgrouting``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:113 ../../build/docs/un_sdg/data.rst:242 +#: ../../build/docs/un_sdg/data.rst:108 ../../build/docs/un_sdg/data.rst:237 msgid "For this step the following is used:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:115 +#: ../../build/docs/un_sdg/data.rst:110 msgid "" "``mumbai_buildings.xml`` and ``mumbai_roads.xml`` configuration files for " "osm2pgrouting." msgstr "" -#: ../../build/docs/un_sdg/data.rst:116 +#: ../../build/docs/un_sdg/data.rst:111 msgid "``~/Desktop/workshop/mumbai.osm`` - OSM data from the previous step" msgstr "" -#: ../../build/docs/un_sdg/data.rst:117 +#: ../../build/docs/un_sdg/data.rst:112 msgid "``mumbai`` database." msgstr "" -#: ../../build/docs/un_sdg/data.rst:119 ../../build/docs/un_sdg/data.rst:248 +#: ../../build/docs/un_sdg/data.rst:114 ../../build/docs/un_sdg/data.rst:243 msgid "" "Contents of the configuration files are given in the `Appendix`_. Create a " "XML file using these contents and save it into the root directory ``~/" "Desktop/workshop``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:122 +#: ../../build/docs/un_sdg/data.rst:117 msgid "" "Open a terminal window by ``ctrl-alt-t`` and move to the workshop directory " "by ``cd ~/Desktop/workshop``. The following ``osm2pgrouting`` command will " @@ -177,131 +177,131 @@ msgid "" "use for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:127 +#: ../../build/docs/un_sdg/data.rst:122 msgid "Importing Mumbai Roads" msgstr "" -#: ../../build/docs/un_sdg/data.rst:129 +#: ../../build/docs/un_sdg/data.rst:124 msgid "" "The following ``osm2pgrouting`` command will be used to import the Roads " "from OpenStreetMaps file to pgRouting database which we will use for further " "exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:139 ../../build/docs/un_sdg/data.rst:160 -#: ../../build/docs/un_sdg/data.rst:266 +#: ../../build/docs/un_sdg/data.rst:134 ../../build/docs/un_sdg/data.rst:155 +#: ../../build/docs/un_sdg/data.rst:261 msgid "Depending on the osm2pgrouting version `-W password` is needed" msgstr "" -#: ../../build/docs/un_sdg/data.rst:142 ../../build/docs/un_sdg/data.rst:163 -#: ../../build/docs/un_sdg/data.rst:269 +#: ../../build/docs/un_sdg/data.rst:137 ../../build/docs/un_sdg/data.rst:158 +#: ../../build/docs/un_sdg/data.rst:264 msgid "Output:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:148 +#: ../../build/docs/un_sdg/data.rst:143 msgid "Importing Mumbai Buildings" msgstr "" -#: ../../build/docs/un_sdg/data.rst:150 +#: ../../build/docs/un_sdg/data.rst:145 msgid "" "Similar to Roads, ``osm2pgrouting`` command will be used to import the " "Buildings from OpenStreetMaps file to pgRouting database which we will use " "for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:168 ../../build/docs/un_sdg/data.rst:274 +#: ../../build/docs/un_sdg/data.rst:163 ../../build/docs/un_sdg/data.rst:269 msgid "To connect to the database, type the following in the terminal." msgstr "" -#: ../../build/docs/un_sdg/data.rst:176 +#: ../../build/docs/un_sdg/data.rst:171 msgid "Bangladesh database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:178 +#: ../../build/docs/un_sdg/data.rst:173 msgid "" "Now download the data for an area in Bangladesh by following the same steps " "like that of Mumbai." msgstr "" -#: ../../build/docs/un_sdg/data.rst:182 +#: ../../build/docs/un_sdg/data.rst:177 msgid "Create Bangladesh area database compatible with pgRouting" msgstr "" -#: ../../build/docs/un_sdg/data.rst:184 +#: ../../build/docs/un_sdg/data.rst:179 msgid "Use the following command to create ``bangladesh`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:207 +#: ../../build/docs/un_sdg/data.rst:202 msgid "Get the Bangladesh Data" msgstr "" -#: ../../build/docs/un_sdg/data.rst:210 +#: ../../build/docs/un_sdg/data.rst:205 msgid "Downloading Bangladesh data from OSGeo" msgstr "" -#: ../../build/docs/un_sdg/data.rst:212 +#: ../../build/docs/un_sdg/data.rst:207 msgid "" "The following command is used to download the snapshot of the Bangladesh " "area data used in this workshop, using the download service of OSGeo." msgstr "" -#: ../../build/docs/un_sdg/data.rst:215 +#: ../../build/docs/un_sdg/data.rst:210 msgid "" "The Bangladesh data for this workshop depends on this `snapshot `__." msgstr "" -#: ../../build/docs/un_sdg/data.rst:225 +#: ../../build/docs/un_sdg/data.rst:220 msgid "Downloading Bangladesh data from OpenStreetMap" msgstr "" -#: ../../build/docs/un_sdg/data.rst:226 +#: ../../build/docs/un_sdg/data.rst:221 msgid "" "The following command is used to download the OSM data of the area in " "Munshigang, Bangladesh." msgstr "" -#: ../../build/docs/un_sdg/data.rst:236 +#: ../../build/docs/un_sdg/data.rst:231 msgid "Upload Bangladesh data to the database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:244 +#: ../../build/docs/un_sdg/data.rst:239 msgid "``waterways.xml`` configuration file" msgstr "" -#: ../../build/docs/un_sdg/data.rst:245 +#: ../../build/docs/un_sdg/data.rst:240 msgid "``~/Desktop/workshop/bangladesh.osm`` - OSM data from the previous step" msgstr "" -#: ../../build/docs/un_sdg/data.rst:246 +#: ../../build/docs/un_sdg/data.rst:241 msgid "``bangladesh`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:251 +#: ../../build/docs/un_sdg/data.rst:246 msgid "" "Open a terminal window by ``ctrl-alt-t`` and move to the workshop directory " "by ``cd ~/Desktop/workshop``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:255 +#: ../../build/docs/un_sdg/data.rst:250 msgid "Importing Bangladesh Waterways" msgstr "" -#: ../../build/docs/un_sdg/data.rst:257 +#: ../../build/docs/un_sdg/data.rst:252 msgid "" "The following ``osm2pgrouting`` command will be used to import the Waterways " "from OpenStreetMaps file to pgRouting database which we will use for further " "exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:283 +#: ../../build/docs/un_sdg/data.rst:278 msgid "Appendix" msgstr "" -#: ../../build/docs/un_sdg/data.rst:286 +#: ../../build/docs/un_sdg/data.rst:281 msgid "Configuration information for Buildings" msgstr "" -#: ../../build/docs/un_sdg/data.rst:294 +#: ../../build/docs/un_sdg/data.rst:289 msgid "Configuration information for Waterways" msgstr "" diff --git a/locale/es/LC_MESSAGES/basic/graphs.po b/locale/es/LC_MESSAGES/basic/graphs.po index 4bb9aafe7..453096ee5 100644 --- a/locale/es/LC_MESSAGES/basic/graphs.po +++ b/locale/es/LC_MESSAGES/basic/graphs.po @@ -373,7 +373,7 @@ msgstr "Preparación de los grafos" #: ../../build/docs/basic/graphs.rst:348 msgid "Exercise 5: Creating a view for routing" -msgstr "Ejercicio 5: Creación de una vista para el ruteo" +msgstr "Exercise 5: Creating a view for routing" #: ../../build/docs/basic/graphs.rst:350 msgid "View of roads for vehicles" @@ -584,7 +584,7 @@ msgstr "`the_geom` La geometría." #: ../../build/docs/basic/graphs.rst:502 msgid "Similar to `Exercise 5: Creating a view for routing`_:" -msgstr "Similar al `Ejercicio 5: Creación de una vista para el enrutamiento`_:" +msgstr "Similar al `Exercise 5: Creating a view for routing`_:" #: ../../build/docs/basic/graphs.rst:504 msgid "" diff --git a/locale/es/LC_MESSAGES/basic/sql_function.po b/locale/es/LC_MESSAGES/basic/sql_function.po index 37cccc93e..c5f8088d8 100644 --- a/locale/es/LC_MESSAGES/basic/sql_function.po +++ b/locale/es/LC_MESSAGES/basic/sql_function.po @@ -356,7 +356,7 @@ msgstr "" #: ../../build/docs/basic/sql_function.rst:130 msgid "Exercise 2: Route geometry (human readable)" -msgstr "Ejercicio 2: Geometría de la ruta (legible para humanos)" +msgstr "Exercise 2: Route geometry (human readable)" #: ../../build/docs/basic/sql_function.rst:132 #: ../../build/docs/basic/sql_function.rst:218 @@ -477,8 +477,8 @@ msgid "" "Inspecting the detail of the results of `Exercise 2: Route geometry " "(human readable)`_" msgstr "" -"Inspeccionando el detalle de los resultados de `Ejercicio 2: Geometría de" -" la ruta (legible para humanos)`_" +"Inspeccionando el detalle de los resultados de `Exercise 2: Route geometry" +" (human readable)`_" #: ../../build/docs/basic/sql_function.rst:231 msgid "Rows **59** to **61** do not match that criteria" @@ -597,8 +597,8 @@ msgid "Name it ``additional``. (line **6**)" msgstr "Asignar el nombre ``additional``. (línea **6**)" #: ../../build/docs/basic/sql_function.rst:321 -msgid "The ``ways`` table geometry name is ``the_geom``." -msgstr "El nombre de la geometría de la tabla ``ways`` es ``the_geom``." +msgid "The ``ways`` table geometry name is ``geom``." +msgstr "El nombre de la geometría de la tabla ``ways`` es ``geom``." #: ../../build/docs/basic/sql_function.rst:322 msgid "Final ``SELECT`` statements gets:" diff --git a/locale/es/LC_MESSAGES/basic/vehicle.po b/locale/es/LC_MESSAGES/basic/vehicle.po index 40324f94d..93e6145e7 100644 --- a/locale/es/LC_MESSAGES/basic/vehicle.po +++ b/locale/es/LC_MESSAGES/basic/vehicle.po @@ -208,7 +208,7 @@ msgstr "" #: ../../build/docs/basic/vehicle.rst:112 msgid "Exercise 2: Vehicle routing - returning" -msgstr "Ejercicio 2: Ruteo de vehículos - regreso" +msgstr "Exercise 2: Vehicle routing - returning" #: ../../build/docs/basic/vehicle.rst:116 msgid "From \"|place_3|\" to the \"|place_1|\" by car." @@ -278,7 +278,7 @@ msgstr "El costo en ``dollars`` es ``cost_s / 3600 * 100``." #: ../../build/docs/basic/vehicle.rst:174 msgid "Comparing with `Exercise 2: Vehicle routing - returning`_:" -msgstr "Comparación con `Ejercicio 2: Ruteo de vehículos - regreso`_:" +msgstr "Comparación con `Exercise 2: Vehicle routing - returning`_:" #: ../../build/docs/basic/vehicle.rst:176 msgid "The total number of records are identical." @@ -428,7 +428,7 @@ msgstr "" #: ../../build/docs/basic/vehicle.rst:282 msgid "Exercise 5: Vehicle routing with penalization" -msgstr "Ejercicio 5: Ruteo de vehículos con penalización" +msgstr "Exercise 5: Vehicle routing with penalization" #: ../../build/docs/basic/vehicle.rst:285 msgid "Concept:" @@ -551,7 +551,7 @@ msgstr "Unir usando ``gid`` (línea **18**)" #: ../../build/docs/basic/vehicle.rst:373 msgid "Comparing with `Exercise 5: Vehicle routing with penalization`_:" -msgstr "Comparando con `Ejercicio 5: Ruteo de vehículos con penalización`_:" +msgstr "Comparando con `Exercise 5: Vehicle routing with penalization`_:" #: ../../build/docs/basic/vehicle.rst:375 msgid "The total number of records is the same." diff --git a/locale/es/LC_MESSAGES/basic/withPoints.po b/locale/es/LC_MESSAGES/basic/withPoints.po index a0631089d..9d1379bc4 100644 --- a/locale/es/LC_MESSAGES/basic/withPoints.po +++ b/locale/es/LC_MESSAGES/basic/withPoints.po @@ -48,7 +48,7 @@ msgstr "Contenido del capítulo" #: ../../build/docs/basic/withPoints.rst:25 msgid "Requirements for routing from A to B" -msgstr "Requisitos para el ruteo de A a B" +msgstr "Requirements for routing from A to B" #: ../../build/docs/basic/withPoints.rst:28 msgid "Chapter problem:" @@ -349,7 +349,7 @@ msgstr "Ver :doc:`graphs`" #: ../../build/docs/basic/withPoints.rst:125 msgid "Exercise 3: Nearest Vertex" -msgstr "Ejercicio 3: Vértice más cercano" +msgstr "Exercise 3: Nearest Vertex" #: ../../build/docs/basic/withPoints.rst:129 msgid "Calculate the (OSM) identifier of the nearest vertex to a point." @@ -524,8 +524,8 @@ msgid "" "The structure of the query is similar to `Exercise 3: Nearest Vertex`_ " "solutions." msgstr "" -"La estructura de la consulta es similar a las soluciones `Ejercicio 3: " -"Vértice más cercano`_." +"La estructura de la consulta es similar a las soluciones `Exercise 3: " +"Nearest Vertex`_." #: ../../build/docs/basic/withPoints.rst:228 msgid "``%1$I`` for the table name identifier." @@ -565,7 +565,7 @@ msgstr "Usar los siguientes valores (lat,lon): ``(-1.455829, -48.446044)``." #: ../../build/docs/basic/withPoints.rst:261 msgid "The point is the same as in `Exercise 3: Nearest Vertex`_ problem." -msgstr "El punto es el mismo que en `Ejercicio 3: Vértice más cercano`_." +msgstr "El punto es el mismo que en `Exercise 3: Nearest Vertex`_." #: ../../build/docs/basic/withPoints.rst:263 msgid "Verify the results are the same." @@ -617,7 +617,7 @@ msgstr "Crear la función ``wrk_fromAtoB``." #: ../../build/docs/basic/withPoints.rst:331 msgid "Follow the description given at `Requirements for routing from A to B`_." -msgstr "Siga la descripción dada en `Requisitos para el ruteo de A a B`_." +msgstr "Siga la descripción dada en `Requirements for routing from A to B`_." #: ../../build/docs/basic/withPoints.rst:332 msgid "Use specialized functions:" diff --git a/locale/es/LC_MESSAGES/un_sdg/data.po b/locale/es/LC_MESSAGES/un_sdg/data.po index 21046d986..fe85adee7 100644 --- a/locale/es/LC_MESSAGES/un_sdg/data.po +++ b/locale/es/LC_MESSAGES/un_sdg/data.po @@ -211,7 +211,7 @@ msgid "" "``~/Desktop/workshop``." msgstr "" "El contenido de los archivos de configuración se indican en el " -"`Apéndice`_. Crear un archivo XML utilizando estos contenidos y guardar " +"`Appendix`_. Crear un archivo XML utilizando estos contenidos y guardar " "en el directorio raíz ``~/Desktop/workshop``." #: ../../build/docs/un_sdg/data.rst:122 @@ -366,7 +366,7 @@ msgstr "" #: ../../build/docs/un_sdg/data.rst:283 msgid "Appendix" -msgstr "Apéndice" +msgstr "Appendix" #: ../../build/docs/un_sdg/data.rst:286 msgid "Configuration information for Buildings" diff --git a/locale/pot/appendix/osgeolive.pot b/locale/pot/appendix/osgeolive.pot new file mode 100644 index 000000000..f2353b20e --- /dev/null +++ b/locale/pot/appendix/osgeolive.pot @@ -0,0 +1,238 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2025 pgRouting Developers +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-06-25 21:50+0000\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/docs/appendix/osgeolive.rst:6 +msgid "OSGeoLive Installation" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:8 +msgid "All required tools are available on `OSGeoLive `__." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:10 +msgid "`OSGeoLive Quickstart for Running in a Virtual Machine `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:12 +msgid "`Creating an OSGeoLive Bootable USB flash drive `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:15 +msgid "Before attending a workshop event, make sure your you can use `OSGeoLive` with either method or :doc:`../appendix/appendix-2` on your computer." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:19 +msgid "This workshop uses OSGeoLive on VirtualBox." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:21 +msgid "Chapter Contents" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:24 +msgid "Install `VirtualBox `__." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:26 +msgid "This is a general description on how to install VirtualBox. Complete details about installation can be found on the `VirtualBox `__ documentation." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:31 +msgid "Linux distributions:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:32 +msgid "Add the following line to your /etc/apt/sources.list. According to your distribution, replace `` with your distribution name." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:39 +msgid "Add the keys:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:46 +msgid "Install Virtual box using:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:53 +msgid "More detailed and up to date information can be found `here `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:57 +msgid "OSGeoLive on a VirtualBox" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:60 +msgid "Download OSGeoLive 17" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:62 +msgid "This installation method corresponds for the ``iso`` distribution of OSGeoLive. For other installations visit `OSgeoLive `__" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:67 +msgid "The images on this section might not correspond to the VirtualBox or OSGeoLive version installed on your system, but the workflow is similar." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:70 +msgid "From https://download.osgeo.org/livedvd/releases/17/" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:72 +msgid "Download *osgeolive-17-amd64.iso*" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:76 +msgid "Download is saved on Downloads directory." +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:81 +msgid "Create the virtual machine" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:83 +msgid "Open the Virtual Box" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:87 +msgid "Click on ``New`` and fill with the following information" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:89 +msgid "**Name**: OSGeoLive 17" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:90 +msgid "**Type**: Linux" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:91 +msgid "**Version**: Ubuntu (64-bit)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:92 +msgid "**Memory size**: 4096" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:93 +msgid "**Hard disk**: Create a virtual hard disk now" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:97 +msgid "Click on ``Create`` and fill with the following information" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:99 +msgid "**File location**: Choose a suitable location for the Virtual Hard Disk" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:100 +msgid "**File size**: 10.0GB" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:101 +msgid "**Hard disk file type**: VDI (VirtualBox Disk image)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:102 +msgid "**Storage on physical hard disk**: Dynamically allocated" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:107 +msgid "Install OSGeoLive's ISO" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:109 +msgid "On Storage it reads:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:0 +msgid "Controller" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:111 +#: ../../build/docs/appendix/osgeolive.rst:134 +msgid "IDE" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:0 +msgid "IDE Secondary Device 0" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:112 +msgid "[Optical Drive] Empty" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:116 +msgid "Choose ``Storage`` from the virtual box traits and click on ``Empty``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:120 +msgid "Click on the small disk icon and select ``Choose/Create a Virtual Optical Disk``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:124 +msgid "Navigate to the location where the ISO was installed" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:128 +msgid "Instead of ``Empty`` now it has the ISO installed" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:132 +msgid "The installation now reads:" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:135 +msgid "[Optical Drive] osgeolive-10.0alpha3-amd64.iso (4.13 GB)" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:141 +msgid "Start OSGeoLive" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:143 +msgid "Click on ``Start`` button and then on ``capture`` button to capture the mouse movements" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:148 +msgid "Click on ``Try or Install Lubuntu``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:152 +msgid "OSGeoLive's account is ``user`` and password is ``user``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:154 +msgid "After a few seconds OSGeoLive will start" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:159 +msgid "OSGeoLive’s account is ``user`` and password is ``user``" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:165 +msgid "Ubuntu installation" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:167 +msgid "Update sources to include postgresql ::" +msgstr "" + +#: ../../build/docs/appendix/osgeolive.rst:173 +msgid "Install PostgrSQL, PostGIS and pgRouting ::" +msgstr "" diff --git a/locale/pot/basic/data.pot b/locale/pot/basic/data.pot index 0fe779d7c..7e82e79c4 100644 --- a/locale/pot/basic/data.pot +++ b/locale/pot/basic/data.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,154 +16,138 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/basic/data.rst:12 +#: ../../build/docs/basic/data.rst:7 msgid "Prepare Data" msgstr "" -#: ../../build/docs/basic/data.rst:17 +#: ../../build/docs/basic/data.rst:12 msgid "To be able to use pgRouting, data has to be imported into a database." msgstr "" -#: ../../build/docs/basic/data.rst:20 +#: ../../build/docs/basic/data.rst:15 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/data.rst:23 +#: ../../build/docs/basic/data.rst:18 msgid "Prepare the database" msgstr "" -#: ../../build/docs/basic/data.rst:25 +#: ../../build/docs/basic/data.rst:20 msgid "pgRouting is installed as extension. This requires:" msgstr "" -#: ../../build/docs/basic/data.rst:27 +#: ../../build/docs/basic/data.rst:22 msgid "PostgreSQL" msgstr "" -#: ../../build/docs/basic/data.rst:28 +#: ../../build/docs/basic/data.rst:23 msgid "PostGIS" msgstr "" -#: ../../build/docs/basic/data.rst:30 +#: ../../build/docs/basic/data.rst:25 msgid "These requirements are met on OSGeoLive. When the required software is installed, open a terminal window by pressing :code:`ctrl-alt-t` and follow the instructions." msgstr "" -#: ../../build/docs/basic/data.rst:34 -msgid "Information about installing OSGeoLive can be found on :doc:`../general-intro/osgeolive`." +#: ../../build/docs/basic/data.rst:29 +msgid "Information about installing OSGeoLive can be found on :doc:`../appendix/osgeolive`." msgstr "" -#: ../../build/docs/basic/data.rst:37 -msgid "If OSGeoLive is not being used, please refer to the chapter's appendix to set up the user ``user``." -msgstr "" - -#: ../../build/docs/basic/data.rst:41 +#: ../../build/docs/basic/data.rst:33 msgid "Create a pgRouting compatible database" msgstr "" -#: ../../build/docs/basic/data.rst:43 -msgid "Depending on the Postgres configuration :code:`-U ` is needed on :code:`psql` commands" +#: ../../build/docs/basic/data.rst:35 +msgid "Create ``city_routing`` database that will be used on the workshop." msgstr "" -#: ../../build/docs/basic/data.rst:51 -msgid "To exit the database use ``\\q``" +#: ../../build/docs/basic/data.rst:42 +msgid "Connect to the database" msgstr "" -#: ../../build/docs/basic/data.rst:54 -msgid "Get the Workshop Data" +#: ../../build/docs/basic/data.rst:48 +msgid "Install pgRouting and its requirements. (otpionally check the version that is being used)" msgstr "" -#: ../../build/docs/basic/data.rst:58 -msgid "The pgRouting workshop will make use of OpenStreetMap data, which is already available on `OSGeoLive `_. This workshop will use the ``Auckland`` city data and is a snapshot of Jun 2025." +#: ../../build/docs/basic/data.rst:56 +msgid "Exit the database" msgstr "" #: ../../build/docs/basic/data.rst:63 -msgid "Getting the data" +msgid "Get the Workshop Data" msgstr "" -#: ../../build/docs/basic/data.rst:66 -msgid "Option 1) When using OSGeoLive" +#: ../../build/docs/basic/data.rst:65 +msgid "This workshop will use the ``Hiroshima`` city data and is a snapshot of Jun 2026." msgstr "" -#: ../../build/docs/basic/data.rst:68 -msgid "OSGeoLive comes with OSM data from the city of Auckland." +#: ../../build/docs/basic/data.rst:69 +msgid "Get the data" msgstr "" -#: ../../build/docs/basic/data.rst:76 -msgid "Option 2) Download data form OSGeoLive website" +#: ../../build/docs/basic/data.rst:72 +msgid "Download data form pgRouting download" msgstr "" -#: ../../build/docs/basic/data.rst:78 +#: ../../build/docs/basic/data.rst:74 msgid "The exact same data can be found on the OSGeoLive download page." msgstr "" -#: ../../build/docs/basic/data.rst:86 +#: ../../build/docs/basic/data.rst:82 msgid "Option 3) Download using Overpass XAPI" msgstr "" -#: ../../build/docs/basic/data.rst:88 -msgid "The following downloads the latest OSM data on using the same area. Using this data in the workshop can generate variations in the results, due to changes since Jun 2025." +#: ../../build/docs/basic/data.rst:84 +msgid "The following downloads the latest OSM data on using the same area. Using this data in the workshop can generate variations in the results, due to changes since Jun 2026." msgstr "" -#: ../../build/docs/basic/data.rst:98 +#: ../../build/docs/basic/data.rst:94 msgid "More information about how to download OpenStreetMap data can be found `here `_." msgstr "" -#: ../../build/docs/basic/data.rst:101 +#: ../../build/docs/basic/data.rst:97 msgid "An alternative for very large areas is to use the download services of `Geofabrik `_." msgstr "" -#: ../../build/docs/basic/data.rst:106 +#: ../../build/docs/basic/data.rst:101 msgid "Upload data to the database" msgstr "" -#: ../../build/docs/basic/data.rst:108 +#: ../../build/docs/basic/data.rst:103 msgid "The next step is to run ``osm2pgrouting`` converter, which is a command line tool that inserts the data in the database, \"ready\" to be used with pgRouting. Additional information about ``osm2pgrouting`` can be found at the :doc:`../appendix/appendix-3`" msgstr "" -#: ../../build/docs/basic/data.rst:112 +#: ../../build/docs/basic/data.rst:107 msgid "For this step:" msgstr "" -#: ../../build/docs/basic/data.rst:114 +#: ../../build/docs/basic/data.rst:109 msgid "the osm2pgrouting default ``mapconfig.xml`` configuration file is used" msgstr "" -#: ../../build/docs/basic/data.rst:115 -msgid "and the ``~/Desktop/workshop/AUCKLAND_NZ.osm`` data" +#: ../../build/docs/basic/data.rst:110 +msgid "and the ``~/Desktop/workshop/HIROSHIMA_JP.osm`` data" msgstr "" -#: ../../build/docs/basic/data.rst:116 +#: ../../build/docs/basic/data.rst:111 msgid "with the ``city_routing`` database" msgstr "" -#: ../../build/docs/basic/data.rst:118 +#: ../../build/docs/basic/data.rst:113 msgid "From a terminal window :code:`ctrl-alt-t`." msgstr "" -#: ../../build/docs/basic/data.rst:121 +#: ../../build/docs/basic/data.rst:116 msgid "Run the osm2pgrouting converter" msgstr "" -#: ../../build/docs/basic/data.rst:128 +#: ../../build/docs/basic/data.rst:123 msgid "Depending on the osm2pgrouting version `-W password` is needed" msgstr "" -#: ../../build/docs/basic/data.rst:131 -msgid "Output:" -msgstr "" - -#: ../../build/docs/basic/data.rst:148 +#: ../../build/docs/basic/data.rst:132 msgid "Tables on the database" msgstr "" -#: ../../build/docs/basic/data.rst:154 -msgid "If everything went well the result should look like this:" -msgstr "" - -#: ../../build/docs/basic/data.rst:160 -msgid "Chapter: Appendix" -msgstr "" - -#: ../../build/docs/basic/data.rst:163 -msgid "OSGeoLive's account name on the database is ``user``. To easily use the workshop when not using OSGeoLive this extra steps are needed:" +#: ../../build/docs/basic/data.rst:134 +msgid "To inspect the tables that were created during this process:" msgstr "" diff --git a/locale/pot/basic/graphs.pot b/locale/pot/basic/graphs.pot index eca8479d7..3f3a240f5 100644 --- a/locale/pot/basic/graphs.pot +++ b/locale/pot/basic/graphs.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:26+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,664 +16,691 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/basic/graphs.rst:12 +#: ../../build/docs/basic/graphs.rst:7 msgid "Graphs" msgstr "" -#: ../../build/docs/basic/graphs.rst:18 +#: ../../build/docs/basic/graphs.rst:13 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/graphs.rst:20 +#: ../../build/docs/basic/graphs.rst:15 msgid "Different applications require different graphs. This chapter covers how to discard disconnected segments and different approaches to create graphs." msgstr "" -#: ../../build/docs/basic/graphs.rst:23 +#: ../../build/docs/basic/graphs.rst:18 msgid "pgRouting functions in this chapter" msgstr "" -#: ../../build/docs/basic/graphs.rst:25 +#: ../../build/docs/basic/graphs.rst:20 msgid "`pgr_extractVertices`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:26 +#: ../../build/docs/basic/graphs.rst:21 msgid "`pgr_connectedComponents`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:27 +#: ../../build/docs/basic/graphs.rst:22 msgid "`pgr_dijkstraCostMatrix`_" msgstr "" -#: ../../build/docs/basic/graphs.rst:30 +#: ../../build/docs/basic/graphs.rst:25 msgid "The graph requirements" msgstr "" -#: ../../build/docs/basic/graphs.rst:32 +#: ../../build/docs/basic/graphs.rst:27 msgid "This chapter requires the creation of three distinct routing graphs derived from ``ways``. These consist of two vehicle-specific graphs and one pedestrian graph, all of which utilize the standard ``source`` and ``target`` to determine routing paths." msgstr "" -#: ../../build/docs/basic/graphs.rst:37 +#: ../../build/docs/basic/graphs.rst:32 msgid "The description of the graphs:" msgstr "" -#: ../../build/docs/basic/graphs.rst:39 +#: ../../build/docs/basic/graphs.rst:34 msgid "Particular vehicle:" msgstr "" -#: ../../build/docs/basic/graphs.rst:41 -msgid "Circulate on the whole Auckland area." +#: ../../build/docs/basic/graphs.rst:36 +msgid "Circulate on the whole Hiroshima area." msgstr "" -#: ../../build/docs/basic/graphs.rst:43 -#: ../../build/docs/basic/graphs.rst:52 +#: ../../build/docs/basic/graphs.rst:38 +#: ../../build/docs/basic/graphs.rst:47 msgid "Do not use `pedestrian`, `steps`, `footway`, `path`, `cycleway`" msgstr "" -#: ../../build/docs/basic/graphs.rst:45 +#: ../../build/docs/basic/graphs.rst:40 msgid "Speed is the default speed from OSM information." msgstr "" -#: ../../build/docs/basic/graphs.rst:47 +#: ../../build/docs/basic/graphs.rst:42 msgid "Taxi vehicle:" msgstr "" -#: ../../build/docs/basic/graphs.rst:49 +#: ../../build/docs/basic/graphs.rst:44 msgid "Circulate on a smaller area:" msgstr "" -#: ../../build/docs/basic/graphs.rst:51 -msgid "Bounding box: ``(174.775,-36.855,174.76,-36.84)``" +#: ../../build/docs/basic/graphs.rst:46 +msgid "Bounding box: ``(132.439,34.38, 132.46,34.40)``" msgstr "" -#: ../../build/docs/basic/graphs.rst:54 +#: ../../build/docs/basic/graphs.rst:49 msgid "Speed is 10% slower than that of the particular vehicles." msgstr "" -#: ../../build/docs/basic/graphs.rst:56 +#: ../../build/docs/basic/graphs.rst:51 msgid "Pedestrians:" msgstr "" -#: ../../build/docs/basic/graphs.rst:58 -msgid "Walk on the whole Auckland area." +#: ../../build/docs/basic/graphs.rst:53 +msgid "Walk on the whole Hiroshima area." msgstr "" -#: ../../build/docs/basic/graphs.rst:59 +#: ../../build/docs/basic/graphs.rst:54 msgid "Can only use pedestrian-only ways:" msgstr "" -#: ../../build/docs/basic/graphs.rst:61 -msgid "`pedestrian`, `steps`, `footway`, `path`, `cycleway`" +#: ../../build/docs/basic/graphs.rst:56 +msgid "`pedestrian`, `steps`, `footway`, `path`, `cycleway`, `residential`" msgstr "" -#: ../../build/docs/basic/graphs.rst:63 +#: ../../build/docs/basic/graphs.rst:58 +#: ../../build/docs/basic/graphs.rst:493 msgid "The walking speed is ``2 mts/sec``." msgstr "" -#: ../../build/docs/basic/graphs.rst:66 +#: ../../build/docs/basic/graphs.rst:61 msgid "Configuration from osm2pgrouting" msgstr "" -#: ../../build/docs/basic/graphs.rst:68 +#: ../../build/docs/basic/graphs.rst:63 msgid "When dealing with data, being aware of what kind of data is being used can improve results." msgstr "" -#: ../../build/docs/basic/graphs.rst:71 +#: ../../build/docs/basic/graphs.rst:66 msgid "Vehicles cannot circulate on pedestrian ways" msgstr "" -#: ../../build/docs/basic/graphs.rst:78 -msgid "Penalizing or removal of pedestrian ways will make the results closer to reality." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:80 +#: ../../build/docs/basic/graphs.rst:73 msgid "When converting data from OSM format using the `osm2pgrouting` tool, there is an additional table: ``configuration``." msgstr "" -#: ../../build/docs/basic/graphs.rst:84 +#: ../../build/docs/basic/graphs.rst:77 msgid "The ``configuration`` table structure can be obtained with the following command." msgstr "" -#: ../../build/docs/basic/graphs.rst:93 -msgid "tag_id values" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:99 +#: ../../build/docs/basic/graphs.rst:86 msgid "In the image above, there is a detail of the ``tag_id`` of the roads." msgstr "" -#: ../../build/docs/basic/graphs.rst:103 +#: ../../build/docs/basic/graphs.rst:90 msgid "The `OSM highway `__ types:" msgstr "" -#: ../../build/docs/basic/graphs.rst:113 +#: ../../build/docs/basic/graphs.rst:100 msgid "Also, on the ``ways`` table, there is a column that can be used to ``JOIN`` with the ``configuration`` table." msgstr "" -#: ../../build/docs/basic/graphs.rst:116 -msgid "The configuration types in the Auckland data" +#: ../../build/docs/basic/graphs.rst:103 +msgid "The configuration types in the Hiroshima data" msgstr "" -#: ../../build/docs/basic/graphs.rst:126 +#: ../../build/docs/basic/graphs.rst:113 msgid "pgr_extractVertices" msgstr "" -#: ../../build/docs/basic/graphs.rst:128 +#: ../../build/docs/basic/graphs.rst:115 msgid "``pgr_extractVertices`` extracting the vertex information of the set of edges of a graph." msgstr "" -#: ../../build/docs/basic/graphs.rst:132 -#: ../../build/docs/basic/graphs.rst:296 -#: ../../build/docs/basic/graphs.rst:626 +#: ../../build/docs/basic/graphs.rst:119 +#: ../../build/docs/basic/graphs.rst:263 +#: ../../build/docs/basic/graphs.rst:625 msgid "Signature summary" msgstr "" -#: ../../build/docs/basic/graphs.rst:140 +#: ../../build/docs/basic/graphs.rst:127 msgid "Description of the function can be found in `pgr_extractVertices `__" msgstr "" -#: ../../build/docs/basic/graphs.rst:144 +#: ../../build/docs/basic/graphs.rst:131 msgid "Exercise 1: Create a vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:147 -#: ../../build/docs/basic/graphs.rst:196 -#: ../../build/docs/basic/graphs.rst:312 -#: ../../build/docs/basic/graphs.rst:358 -#: ../../build/docs/basic/graphs.rst:433 -#: ../../build/docs/basic/graphs.rst:504 -#: ../../build/docs/basic/graphs.rst:562 -#: ../../build/docs/basic/graphs.rst:644 +#: ../../build/docs/basic/graphs.rst:134 +#: ../../build/docs/basic/graphs.rst:183 +#: ../../build/docs/basic/graphs.rst:279 +#: ../../build/docs/basic/graphs.rst:342 +#: ../../build/docs/basic/graphs.rst:417 +#: ../../build/docs/basic/graphs.rst:488 +#: ../../build/docs/basic/graphs.rst:567 +#: ../../build/docs/basic/graphs.rst:643 +#: ../../build/docs/basic/graphs.rst:725 msgid "Problem" msgstr "" -#: ../../build/docs/basic/graphs.rst:148 +#: ../../build/docs/basic/graphs.rst:135 msgid "Create the vertices table corresponding to the edges in ``ways``." msgstr "" -#: ../../build/docs/basic/graphs.rst:151 -#: ../../build/docs/basic/graphs.rst:200 -#: ../../build/docs/basic/graphs.rst:316 -#: ../../build/docs/basic/graphs.rst:367 -#: ../../build/docs/basic/graphs.rst:447 -#: ../../build/docs/basic/graphs.rst:513 -#: ../../build/docs/basic/graphs.rst:579 -#: ../../build/docs/basic/graphs.rst:657 +#: ../../build/docs/basic/graphs.rst:138 +#: ../../build/docs/basic/graphs.rst:187 +#: ../../build/docs/basic/graphs.rst:283 +#: ../../build/docs/basic/graphs.rst:351 +#: ../../build/docs/basic/graphs.rst:433 +#: ../../build/docs/basic/graphs.rst:509 +#: ../../build/docs/basic/graphs.rst:577 +#: ../../build/docs/basic/graphs.rst:660 +#: ../../build/docs/basic/graphs.rst:733 msgid "Solution" msgstr "" -#: ../../build/docs/basic/graphs.rst:152 +#: ../../build/docs/basic/graphs.rst:139 msgid "A graph consists of a set of vertices and a set of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:153 +#: ../../build/docs/basic/graphs.rst:140 msgid "In this case, the ``ways`` table is a set of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:154 +#: ../../build/docs/basic/graphs.rst:141 msgid "In order to make use of all the graph functions from pgRouting, it is required have the set of vertices defined." msgstr "" -#: ../../build/docs/basic/graphs.rst:156 +#: ../../build/docs/basic/graphs.rst:143 msgid "From the requirements, a fully connected graph is needed, therefore adding a ``component`` column." msgstr "" -#: ../../build/docs/basic/graphs.rst:170 +#: ../../build/docs/basic/graphs.rst:157 msgid "Reviewing the description of the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:180 +#: ../../build/docs/basic/graphs.rst:167 msgid "Inspecting the information on the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:193 +#: ../../build/docs/basic/graphs.rst:180 msgid "Exercise 2: Fill up other columns in the vertices table" msgstr "" -#: ../../build/docs/basic/graphs.rst:197 +#: ../../build/docs/basic/graphs.rst:184 msgid "Fill up geometry information on the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:201 +#: ../../build/docs/basic/graphs.rst:188 msgid "Count the number of rows that need to be filled up." msgstr "" -#: ../../build/docs/basic/graphs.rst:212 +#: ../../build/docs/basic/graphs.rst:199 msgid "Update the ``geom`` and ``osm_id`` columns" msgstr "" -#: ../../build/docs/basic/graphs.rst:213 +#: ../../build/docs/basic/graphs.rst:200 msgid "The update based on the ``source`` column from ``ways`` table and the ``id`` column of the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:215 +#: ../../build/docs/basic/graphs.rst:202 msgid "To update ``geom`` column, use the start point of the geometry on the ``ways`` table." msgstr "" -#: ../../build/docs/basic/graphs.rst:217 +#: ../../build/docs/basic/graphs.rst:204 msgid "Use the ``source_osm`` value to fill up ``osm_id`` column." msgstr "" -#: ../../build/docs/basic/graphs.rst:225 -#: ../../build/docs/basic/graphs.rst:255 -#: ../../build/docs/basic/graphs.rst:282 -#: ../../build/docs/basic/graphs.rst:474 +#: ../../build/docs/basic/graphs.rst:212 +#: ../../build/docs/basic/graphs.rst:459 msgid "Verification" msgstr "" -#: ../../build/docs/basic/graphs.rst:230 -msgid "Do not expect this count to be the same as the total number of rows in the vertices table, because some nodes are dead ends: some vertices will only be sources and others only targets, so not all rows can be updated." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:242 -msgid "Continue update the ``geom`` and ``osm_id`` columns" +#: ../../build/docs/basic/graphs.rst:222 +msgid "Exercise 3: Use QGIS to view the work" msgstr "" -#: ../../build/docs/basic/graphs.rst:243 -msgid "The update based on the ``target`` column from ``ways`` table and the ``id`` column of the vertices table." +#: ../../build/docs/basic/graphs.rst:224 +msgid "QGIS is a powerfull tool" msgstr "" -#: ../../build/docs/basic/graphs.rst:245 -msgid "To update ``geom`` column, use the end point of the geometry on the ``ways`` table." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:247 -msgid "Use the ``target_osm`` value to fill up ``osm_id`` column." +#: ../../build/docs/basic/graphs.rst:226 +msgid "If you are using OSGeoLive, then you can find QGIS here:" msgstr "" -#: ../../build/docs/basic/graphs.rst:260 -msgid "Expecting to be done, that is the geometry column should not have a ``NULL`` value." +#: ../../build/docs/basic/graphs.rst:233 +msgid "Open it and add the Postgres credentials to access city_routing" msgstr "" -#: ../../build/docs/basic/graphs.rst:273 -msgid "Update the ``x`` and ``y`` columns" +#: ../../build/docs/basic/graphs.rst:240 +msgid "Choose the vertices table and move it to the layers" msgstr "" -#: ../../build/docs/basic/graphs.rst:274 -msgid "Update the ``x`` and ``y`` columns based on the ``geom`` column." +#: ../../build/docs/basic/graphs.rst:247 +msgid "You will see on the canvas something similar to:" msgstr "" -#: ../../build/docs/basic/graphs.rst:289 +#: ../../build/docs/basic/graphs.rst:256 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/docs/basic/graphs.rst:291 +#: ../../build/docs/basic/graphs.rst:258 msgid "``pgr_connectedComponents`` compute the connected components of an undirected graph using a Depth First Search approach. A connected component of an undirected graph is a set of vertices that are all reachable from each other." msgstr "" -#: ../../build/docs/basic/graphs.rst:304 +#: ../../build/docs/basic/graphs.rst:271 msgid "Description of the function can be found in `pgr_connectedComponents `__" msgstr "" -#: ../../build/docs/basic/graphs.rst:309 -msgid "Exercise 3: Set components on edges and vertices tables" +#: ../../build/docs/basic/graphs.rst:276 +msgid "Exercise 4: Set components on edges and vertices tables" msgstr "" -#: ../../build/docs/basic/graphs.rst:313 +#: ../../build/docs/basic/graphs.rst:280 msgid "Get the information about the graph components." msgstr "" -#: ../../build/docs/basic/graphs.rst:317 +#: ../../build/docs/basic/graphs.rst:284 msgid "Create additional columns on the edges tables." msgstr "" -#: ../../build/docs/basic/graphs.rst:329 +#: ../../build/docs/basic/graphs.rst:296 msgid "Use the ``pgr_connectedComponents`` to fill up the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:330 +#: ../../build/docs/basic/graphs.rst:297 msgid "Use the results to store the component numbers on the vertices table." msgstr "" -#: ../../build/docs/basic/graphs.rst:343 +#: ../../build/docs/basic/graphs.rst:316 +msgid "This is not a QGIS workshop, so the details about how to display layers are not written in this workshop" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:320 msgid "Update the edges table with based on the component number of the vertex" msgstr "" -#: ../../build/docs/basic/graphs.rst:355 -msgid "Exercise 4: Inspect the components" +#: ../../build/docs/basic/graphs.rst:339 +msgid "Exercise 5: Inspect the components" msgstr "" -#: ../../build/docs/basic/graphs.rst:359 +#: ../../build/docs/basic/graphs.rst:343 msgid "Answer the following questions:" msgstr "" -#: ../../build/docs/basic/graphs.rst:361 +#: ../../build/docs/basic/graphs.rst:345 msgid "How many components are in the vertices table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:362 +#: ../../build/docs/basic/graphs.rst:346 msgid "How many components are in the edges table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:363 +#: ../../build/docs/basic/graphs.rst:347 msgid "List the 10 components with more edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:364 +#: ../../build/docs/basic/graphs.rst:348 msgid "Get the component with the maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:369 +#: ../../build/docs/basic/graphs.rst:353 msgid "1. How many components are in the vertices table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:370 -#: ../../build/docs/basic/graphs.rst:383 +#: ../../build/docs/basic/graphs.rst:354 +#: ../../build/docs/basic/graphs.rst:367 msgid "Count the distinct components." msgstr "" -#: ../../build/docs/basic/graphs.rst:382 +#: ../../build/docs/basic/graphs.rst:366 msgid "2. How many components are in the edges table?" msgstr "" -#: ../../build/docs/basic/graphs.rst:395 +#: ../../build/docs/basic/graphs.rst:379 msgid "3. List the 10 components with more edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:396 +#: ../../build/docs/basic/graphs.rst:380 msgid "Count number of rows grouped by component. (**line 1**)" msgstr "" -#: ../../build/docs/basic/graphs.rst:397 +#: ../../build/docs/basic/graphs.rst:381 msgid "Inverse order to display the top 10. (**line 2**)" msgstr "" -#: ../../build/docs/basic/graphs.rst:409 +#: ../../build/docs/basic/graphs.rst:393 msgid "4. Get the component with the maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:410 +#: ../../build/docs/basic/graphs.rst:394 msgid "Use the query from last question to get the maximum count" msgstr "" -#: ../../build/docs/basic/graphs.rst:411 +#: ../../build/docs/basic/graphs.rst:395 msgid "Get the component that matches the maximum value." msgstr "" -#: ../../build/docs/basic/graphs.rst:423 +#: ../../build/docs/basic/graphs.rst:407 msgid "Preparing the graphs" msgstr "" -#: ../../build/docs/basic/graphs.rst:426 -msgid "Exercise 5: Creating a view for routing" +#: ../../build/docs/basic/graphs.rst:410 +msgid "Exercise 6: Creating a view for routing vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:428 +#: ../../build/docs/basic/graphs.rst:412 msgid "View of roads for vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:434 +#: ../../build/docs/basic/graphs.rst:418 msgid "Create a view with minimal amount of information for processing the particular vehicles." msgstr "" -#: ../../build/docs/basic/graphs.rst:435 -msgid "Routing `cost` and `reverse_cost` in terms of seconds for routing calculations." +#: ../../build/docs/basic/graphs.rst:419 +msgid "Routing ``cost`` and ``reverse_cost`` in terms of seconds for routing calculations." msgstr "" -#: ../../build/docs/basic/graphs.rst:436 -msgid "Exclude `steps`, `footway`, `path`, `cycleway` segments." +#: ../../build/docs/basic/graphs.rst:420 +msgid "Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway`` segments." msgstr "" -#: ../../build/docs/basic/graphs.rst:437 -#: ../../build/docs/basic/graphs.rst:571 +#: ../../build/docs/basic/graphs.rst:421 +#: ../../build/docs/basic/graphs.rst:497 msgid "Data needed in the view for further processing." msgstr "" -#: ../../build/docs/basic/graphs.rst:439 -msgid "``name`` The name of the segment." +#: ../../build/docs/basic/graphs.rst:423 +#: ../../build/docs/basic/graphs.rst:499 +msgid "``id`` of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:440 -msgid "``length_m`` The length in meters rename to ``length``." +#: ../../build/docs/basic/graphs.rst:424 +#: ../../build/docs/basic/graphs.rst:500 +msgid "``source`` and ``target`` of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:441 -msgid "``the_geom`` The geometry rename to ``geom``." +#: ../../build/docs/basic/graphs.rst:425 +#: ../../build/docs/basic/graphs.rst:501 +msgid "``name`` The name of the segment." msgstr "" -#: ../../build/docs/basic/graphs.rst:442 -msgid "``tag_id`` Keep as is." +#: ../../build/docs/basic/graphs.rst:426 +#: ../../build/docs/basic/graphs.rst:502 +msgid "``length`` The length in meters rename from ``length_m``." msgstr "" -#: ../../build/docs/basic/graphs.rst:444 -#: ../../build/docs/basic/graphs.rst:576 -msgid "Verify the number of edges was reduced." +#: ../../build/docs/basic/graphs.rst:427 +#: ../../build/docs/basic/graphs.rst:503 +msgid "``geom`` The geometry." msgstr "" -#: ../../build/docs/basic/graphs.rst:448 -#: ../../build/docs/basic/graphs.rst:514 -#: ../../build/docs/basic/graphs.rst:580 -msgid "Creating the view:" +#: ../../build/docs/basic/graphs.rst:428 +#: ../../build/docs/basic/graphs.rst:504 +msgid "``tag_id`` The kind of road." msgstr "" -#: ../../build/docs/basic/graphs.rst:450 -msgid "If you need to reconstruct the view, first drop it using the command on **line 1**." +#: ../../build/docs/basic/graphs.rst:430 +#: ../../build/docs/basic/graphs.rst:506 +msgid "Verify the number of edges was reduced." msgstr "" -#: ../../build/docs/basic/graphs.rst:452 -msgid "Get the component with maximum number of edges (**lines 6-10**)" +#: ../../build/docs/basic/graphs.rst:434 +#: ../../build/docs/basic/graphs.rst:510 +#: ../../build/docs/basic/graphs.rst:578 +msgid "Creating the view:" msgstr "" -#: ../../build/docs/basic/graphs.rst:453 -msgid "The `source` and `target` requirements for the function are to be with OSM identifiers. (line **14**)" +#: ../../build/docs/basic/graphs.rst:436 +#: ../../build/docs/basic/graphs.rst:512 +msgid "If you need to reconstruct the view, first drop it using the command on line 1." msgstr "" -#: ../../build/docs/basic/graphs.rst:455 -msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds. (line **15**)" +#: ../../build/docs/basic/graphs.rst:438 +#: ../../build/docs/basic/graphs.rst:514 +msgid "Get the component with maximum number of edges." msgstr "" -#: ../../build/docs/basic/graphs.rst:456 -msgid "The additional parameters ``length_m`` and ``the_geom`` are renamed, ``name`` is also included. (line **16**)" +#: ../../build/docs/basic/graphs.rst:439 +msgid "Select the required columns. - The ``cost`` and ``reverse_cost`` are in terms of seconds. - The ``length_m`` is renamed." msgstr "" -#: ../../build/docs/basic/graphs.rst:458 +#: ../../build/docs/basic/graphs.rst:443 +#: ../../build/docs/basic/graphs.rst:521 msgid "``JOIN`` with the `configuration`:" msgstr "" -#: ../../build/docs/basic/graphs.rst:460 -msgid "Exclude `steps`, `footway`, `path`, `cycleway`. (line **18**)" +#: ../../build/docs/basic/graphs.rst:445 +msgid "Exclude ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway``." msgstr "" -#: ../../build/docs/basic/graphs.rst:475 +#: ../../build/docs/basic/graphs.rst:460 msgid "Count the rows on the original ``ways`` and on ``vehicle_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:485 +#: ../../build/docs/basic/graphs.rst:470 msgid "Get the description of the view" msgstr "" -#: ../../build/docs/basic/graphs.rst:497 -msgid "Exercise 6: Limiting the road network within an area" +#: ../../build/docs/basic/graphs.rst:481 +msgid "Exercise 7: Creating a materialized view for routing pedestrians" msgstr "" -#: ../../build/docs/basic/graphs.rst:499 -msgid "View of smaller set of roads for vehicles" +#: ../../build/docs/basic/graphs.rst:483 +msgid "View of roads for pedestrians" msgstr "" -#: ../../build/docs/basic/graphs.rst:505 -msgid "Create a view ``taxi_net`` for the `taxi`:" +#: ../../build/docs/basic/graphs.rst:489 +msgid "Create a materialized view with minimal amount of information for processing pedestrian routing." msgstr "" -#: ../../build/docs/basic/graphs.rst:507 -msgid "The taxi can only circulate inside this Bounding Box: ``(174.775,-36.855,174.76,-36.84)``" +#: ../../build/docs/basic/graphs.rst:491 +msgid "Routing ``cost`` and ``reverse_cost`` will be in seconds for routing calculations." msgstr "" -#: ../../build/docs/basic/graphs.rst:508 -msgid "The taxi speed is 10% slower than the particular vehicle." +#: ../../build/docs/basic/graphs.rst:495 +msgid "Include the pedestrian roads: ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway`` and ``residential`` roads." msgstr "" -#: ../../build/docs/basic/graphs.rst:510 -msgid "Verify the reduced number of road segments." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:516 -msgid "Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the particular vehicle. (line **7**)" +#: ../../build/docs/basic/graphs.rst:515 +msgid "Select the required columns." msgstr "" -#: ../../build/docs/basic/graphs.rst:518 -msgid "The graph for the taxi is a subset of the ``vehicle_net`` graph. (line **9**)" +#: ../../build/docs/basic/graphs.rst:517 +msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 mts/sec``." msgstr "" #: ../../build/docs/basic/graphs.rst:519 -msgid "Can only circulate inside the bounding box: ``(174.775,-36.855,174.76,-36.84)``. (line **10**)" +msgid "The ``length_m`` is renamed." msgstr "" -#: ../../build/docs/basic/graphs.rst:533 -msgid "Count the rows on ``taxi_net``." +#: ../../build/docs/basic/graphs.rst:523 +msgid "Include ``residential``, ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway``." msgstr "" -#: ../../build/docs/basic/graphs.rst:544 -#: ../../build/docs/basic/graphs.rst:610 -msgid "Get the description." +#: ../../build/docs/basic/graphs.rst:538 +msgid "Count the rows on the view ``walk_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:555 -msgid "Exercise 7: Creating a materialized view for routing pedestrians" +#: ../../build/docs/basic/graphs.rst:549 +#: ../../build/docs/basic/graphs.rst:608 +msgid "Get the description." msgstr "" -#: ../../build/docs/basic/graphs.rst:557 -msgid "View of roads for pedestrians" +#: ../../build/docs/basic/graphs.rst:560 +msgid "Exercise 8: Limiting the road network within an area" msgstr "" -#: ../../build/docs/basic/graphs.rst:563 -msgid "Create a materialized view with minimal amount of information for processing pedestrians." +#: ../../build/docs/basic/graphs.rst:562 +msgid "View of smaller set of roads for vehicles" msgstr "" -#: ../../build/docs/basic/graphs.rst:565 -msgid "Routing `cost` and `reverse_cost` will be on seconds for routing calculations." +#: ../../build/docs/basic/graphs.rst:568 +msgid "Create a view ``taxi_net`` for the `taxi`:" msgstr "" -#: ../../build/docs/basic/graphs.rst:567 -msgid "The speed is ``2 mts/sec``." +#: ../../build/docs/basic/graphs.rst:570 +msgid "The taxi can only circulate inside this Bounding Box: ``(132.439,34.38, 132.46,34.40)``" msgstr "" -#: ../../build/docs/basic/graphs.rst:569 -msgid "Only include the pedestrian only roads: ``pedestrian``, ``steps``, ``footway``, ``path``, ``cycleway``" +#: ../../build/docs/basic/graphs.rst:571 +msgid "The taxi speed is 10% slower than the particular vehicle." msgstr "" -#: ../../build/docs/basic/graphs.rst:573 -msgid "``length_m`` The length in meters." +#: ../../build/docs/basic/graphs.rst:572 +msgid "Base the view on ``vehicle_net``" msgstr "" #: ../../build/docs/basic/graphs.rst:574 -msgid "``the_geom`` The geometry." +msgid "Verify the reduced number of road segments." msgstr "" -#: ../../build/docs/basic/graphs.rst:582 -msgid "Similar to `Exercise 5: Creating a view for routing`_:" +#: ../../build/docs/basic/graphs.rst:580 +msgid "Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the particular vehicle." msgstr "" -#: ../../build/docs/basic/graphs.rst:584 -msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 mts/sec``. (line **7**)" +#: ../../build/docs/basic/graphs.rst:582 +msgid "The graph for the taxi is a subset of the ``vehicle_net`` graph." msgstr "" -#: ../../build/docs/basic/graphs.rst:586 -msgid "Exclude ``motorway``, ``primary`` and ``secondary`` . (line **11**)" +#: ../../build/docs/basic/graphs.rst:583 +msgid "Can only circulate inside the bounding box: ``(132.439,34.38, 132.46,34.40)``." msgstr "" -#: ../../build/docs/basic/graphs.rst:599 -msgid "Count the rows on the view ``walk_net``." +#: ../../build/docs/basic/graphs.rst:597 +msgid "Count the rows on ``taxi_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:621 +#: ../../build/docs/basic/graphs.rst:620 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/docs/basic/graphs.rst:623 +#: ../../build/docs/basic/graphs.rst:622 msgid "``pgr_dijkstraCostMatrix`` Calculates a cost matrix using Dijkstra algorithm." msgstr "" -#: ../../build/docs/basic/graphs.rst:634 +#: ../../build/docs/basic/graphs.rst:633 msgid "Description of the function can be found in `pgr_dijkstraCostMatrix `__" msgstr "" -#: ../../build/docs/basic/graphs.rst:638 -msgid "Exercise 8: Testing the views" +#: ../../build/docs/basic/graphs.rst:637 +msgid "Exercise 9: Testing the views" msgstr "" -#: ../../build/docs/basic/graphs.rst:645 +#: ../../build/docs/basic/graphs.rst:644 msgid "Test the created views" msgstr "" -#: ../../build/docs/basic/graphs.rst:647 +#: ../../build/docs/basic/graphs.rst:646 msgid "In particular:" msgstr "" -#: ../../build/docs/basic/graphs.rst:649 -msgid "Get a traveling cost matrix in seconds from all locations to all locations." +#: ../../build/docs/basic/graphs.rst:648 +msgid "Get a traveling cost matrix in seconds from the all follwoing ``id`` to all the ``id``" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:651 +#: ../../build/docs/basic/graphs.rst:663 +msgid "|id_1|, |id_2|, |id_3|, |id_4| and |id_5|." msgstr "" -#: ../../build/docs/basic/graphs.rst:650 +#: ../../build/docs/basic/graphs.rst:653 msgid "the views to be tested are:" msgstr "" -#: ../../build/docs/basic/graphs.rst:652 +#: ../../build/docs/basic/graphs.rst:655 msgid "``vehicle_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:653 +#: ../../build/docs/basic/graphs.rst:656 msgid "``taxi_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:654 +#: ../../build/docs/basic/graphs.rst:657 msgid "``walk_net``" msgstr "" -#: ../../build/docs/basic/graphs.rst:658 +#: ../../build/docs/basic/graphs.rst:661 msgid "The locations are:" msgstr "" -#: ../../build/docs/basic/graphs.rst:660 -msgid "|id_1|, |id_2|, |id_3|, |id_4| and |id_5|." -msgstr "" - -#: ../../build/docs/basic/graphs.rst:661 +#: ../../build/docs/basic/graphs.rst:664 msgid "Passed as an array to the function." msgstr "" -#: ../../build/docs/basic/graphs.rst:663 +#: ../../build/docs/basic/graphs.rst:666 msgid "For ``vehicle_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:665 +#: ../../build/docs/basic/graphs.rst:668 msgid "``vehicle_net`` is used." msgstr "" -#: ../../build/docs/basic/graphs.rst:666 -msgid "Selection of the columns with the corresponding names are on line **1**." +#: ../../build/docs/basic/graphs.rst:669 +msgid "Selection of the columns with the corresponding names." msgstr "" -#: ../../build/docs/basic/graphs.rst:667 +#: ../../build/docs/basic/graphs.rst:670 msgid "The view is prepared with the column names that pgRouting use." msgstr "" -#: ../../build/docs/basic/graphs.rst:669 -msgid "There is no need to rename columns. (line **3**)" +#: ../../build/docs/basic/graphs.rst:672 +msgid "There is no need to rename columns." msgstr "" -#: ../../build/docs/basic/graphs.rst:671 -msgid "The OSM identifiers of the departure and destination are used. (line **4**)" -msgstr "" - -#: ../../build/docs/basic/graphs.rst:684 +#: ../../build/docs/basic/graphs.rst:685 msgid "For ``taxi_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:686 -msgid "Similar as the previous one but with ``taxi_net``. (line **3**)" +#: ../../build/docs/basic/graphs.rst:687 +msgid "Similar as the previous one but with ``taxi_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:687 +#: ../../build/docs/basic/graphs.rst:688 msgid "The results give the same route as with ``vehicle_net`` but ``cost`` is higher." msgstr "" -#: ../../build/docs/basic/graphs.rst:700 +#: ../../build/docs/basic/graphs.rst:690 +msgid "Not all the locations are in the area, so not all are calculated." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:703 msgid "For ``walk_net``:" msgstr "" -#: ../../build/docs/basic/graphs.rst:702 -msgid "Similar as the previous one but with ``walk_net``. (line **3**)" +#: ../../build/docs/basic/graphs.rst:705 +msgid "Similar as the previous ones but with ``walk_net``." msgstr "" -#: ../../build/docs/basic/graphs.rst:703 -msgid "The results give a different route than of the vehicles." +#: ../../build/docs/basic/graphs.rst:719 +msgid "Exercise 10: Visualize on QGIS the ``pgr_costMatrix`` result" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:726 +msgid "Based on the query from `Exercise 9: Testing the views`_, create a view to be able to use on QGIS. (like the one above)" +msgstr "" + +#: ../../build/docs/basic/graphs.rst:729 +msgid "The results when using ``vehile_net`` is the example." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:730 +msgid "The other results are left to the reader." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:734 +msgid "QGIS needs a unique identifier, the identifier will be the row number." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:735 +msgid "``JOIN`` with ``vertices`` table to get the geometry of the points." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:736 +msgid "Build a ``LINESTRING`` joining the 2 points." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:737 +msgid "The name of the line consists of the values of the result of the function." +msgstr "" + +#: ../../build/docs/basic/graphs.rst:746 +msgid "Enter QGIS, refresh the database and move the view to the layers. Format adding the name to the lines." msgstr "" diff --git a/locale/pot/basic/pedestrian.pot b/locale/pot/basic/pedestrian.pot index d815eb642..2726b92a5 100644 --- a/locale/pot/basic/pedestrian.pot +++ b/locale/pot/basic/pedestrian.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,348 +16,373 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/basic/pedestrian.rst:11 +#: ../../build/docs/basic/pedestrian.rst:6 msgid "Pedestrian Routing" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:17 +#: ../../build/docs/basic/pedestrian.rst:12 msgid "**pgRouting** was first called *pgDijkstra* because it implemented only shortest path search with *Dijkstra* algorithm. Later other functions were added and the library was renamed to pgRouting." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:21 +#: ../../build/docs/basic/pedestrian.rst:16 msgid "pgRouting functions in this chapter" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:23 +#: ../../build/docs/basic/pedestrian.rst:18 msgid "`pgr_dijkstra`_" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:24 +#: ../../build/docs/basic/pedestrian.rst:19 msgid "`pgr_dijkstraCost`_" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:26 +#: ../../build/docs/basic/pedestrian.rst:21 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:29 -msgid "pgr_dijkstra" +#: ../../build/docs/basic/pedestrian.rst:24 +msgid "Identifiers for the Queries" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:31 -msgid "Dijkstra algorithm was the first algorithm implemented in pgRouting. It does not require other attributes than the identifiers ``id``, ``source`` and ``target`` and the weights ``cost`` and ``reverse_cost``." +#: ../../build/docs/basic/pedestrian.rst:26 +msgid "The assignment of the vertices identifiers on the source and target columns may be different, the exercises will use the identifiers value assigned by ``oms2pgrouting``" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:35 -msgid "You can specify when to consider the graph as `directed `__ or undirected." +#: ../../build/docs/basic/pedestrian.rst:30 +msgid "For the workshop, some locations near of the FOSS4G event are going to be used. These locations are within this area |osm_map_link|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:39 -#: ../../build/docs/basic/pedestrian.rst:285 -msgid "Signature Summary" +#: ../../build/docs/basic/pedestrian.rst:33 +msgid "|osmid_1| |place_1|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:51 -msgid "Description of the function can be found in `pgr_dijkstra `__." +#: ../../build/docs/basic/pedestrian.rst:34 +msgid "|osmid_2| |place_2|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:55 -msgid "Many pgRouting functions have ``sql::text`` as one of their arguments. While this may look confusing at first, it makes the functions very flexible as the user can pass a ``SELECT`` statement as function argument as long as the returned result contains the required number of attributes and the correct attribute names." +#: ../../build/docs/basic/pedestrian.rst:35 +msgid "|osmid_3| |place_3|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:60 -msgid "Most of pgRouting implemented algorithms do not require the **geometry**." +#: ../../build/docs/basic/pedestrian.rst:36 +msgid "|osmid_4| |place_4|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:61 -msgid "The pgRouting functions **do not** return a geometry, but only an ordered list of nodes or edges." +#: ../../build/docs/basic/pedestrian.rst:37 +msgid "|osmid_5| |place_5|" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:65 -msgid "Identifiers for the Queries" +#: ../../build/docs/basic/pedestrian.rst:40 +msgid "Don'f forget to connect to the database, if not connected:" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:46 +msgid "Get the vertex identifiers" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:57 +msgid "To use as a guide in QGIS, create a view:" msgstr "" #: ../../build/docs/basic/pedestrian.rst:66 -msgid "The assignment of the vertices identifiers on the source and target columns may be different, the following exercises will use the results of this query. For the workshop, some locations near of the FOSS4G event are going to be used. These locations are within this area https://www.openstreetmap.org/#map=16/-36.8520950/174.7631803" +msgid "|osmid_1| |place_1| (|id_1|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:71 -msgid "|osmid_1| |place_1|" +#: ../../build/docs/basic/pedestrian.rst:67 +msgid "|osmid_2| |place_2| (|id_2|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:72 -msgid "|osmid_2| |place_2|" +#: ../../build/docs/basic/pedestrian.rst:68 +msgid "|osmid_3| |place_3| (|id_3|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:73 -msgid "|osmid_3| |place_3|" +#: ../../build/docs/basic/pedestrian.rst:69 +msgid "|osmid_4| |place_4| (|id_4|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:74 -msgid "|osmid_4| |place_4|" +#: ../../build/docs/basic/pedestrian.rst:70 +msgid "|osmid_5| |place_5| (|id_5|)" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:75 -msgid "|osmid_5| |place_5|" +#: ../../build/docs/basic/pedestrian.rst:73 +msgid "The corresponding :code:`id` are shown in the following image." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:78 -msgid "Connect to the database, if not connected:" +#: ../../build/docs/basic/pedestrian.rst:79 +msgid "pgr_dijkstra" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:84 -msgid "Get the vertex identifiers" +#: ../../build/docs/basic/pedestrian.rst:81 +msgid "Dijkstra algorithm was the first algorithm implemented in pgRouting. It does not require other attributes than the identifiers ``id``, ``source`` and ``target`` and the weights ``cost`` and ``reverse_cost``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:95 -msgid "|osmid_1| |place_1| (|id_1|)" +#: ../../build/docs/basic/pedestrian.rst:85 +msgid "You can specify when to consider the graph as `directed `__ or undirected." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:96 -msgid "|osmid_2| |place_2| (|id_2|)" +#: ../../build/docs/basic/pedestrian.rst:89 +#: ../../build/docs/basic/pedestrian.rst:316 +msgid "Signature Summary" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:97 -msgid "|osmid_3| |place_3| (|id_3|)" +#: ../../build/docs/basic/pedestrian.rst:101 +msgid "Description of the function can be found in `pgr_dijkstra `__." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:98 -msgid "|osmid_4| |place_4| (|id_4|)" +#: ../../build/docs/basic/pedestrian.rst:105 +msgid "Many pgRouting functions have ``sql::text`` as one of their arguments. While this may look confusing at first, it makes the functions very flexible as the user can pass a ``SELECT`` statement as function argument as long as the returned result contains the required number of attributes and the correct attribute names." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:99 -msgid "|osmid_5| |place_5| (|id_5|)" +#: ../../build/docs/basic/pedestrian.rst:110 +msgid "Most of pgRouting implemented algorithms do not require the **geometry**." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:102 -msgid "The corresponding :code:`id` are shown in the following image, and a sample route from \"|place_3|\" to \"|place_1|\"." +#: ../../build/docs/basic/pedestrian.rst:111 +msgid "The pgRouting functions **do not** return a geometry, but only an ordered list of nodes or edges." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:109 +#: ../../build/docs/basic/pedestrian.rst:115 msgid "Exercise 1: Single pedestrian routing" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:112 -#: ../../build/docs/basic/pedestrian.rst:152 -#: ../../build/docs/basic/pedestrian.rst:183 -#: ../../build/docs/basic/pedestrian.rst:218 -#: ../../build/docs/basic/pedestrian.rst:251 -#: ../../build/docs/basic/pedestrian.rst:305 +#: ../../build/docs/basic/pedestrian.rst:121 +#: ../../build/docs/basic/pedestrian.rst:181 +#: ../../build/docs/basic/pedestrian.rst:213 +#: ../../build/docs/basic/pedestrian.rst:249 +#: ../../build/docs/basic/pedestrian.rst:281 +#: ../../build/docs/basic/pedestrian.rst:336 msgid "Problem:" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:113 -#: ../../build/docs/basic/pedestrian.rst:153 -#: ../../build/docs/basic/pedestrian.rst:184 -#: ../../build/docs/basic/pedestrian.rst:219 -#: ../../build/docs/basic/pedestrian.rst:252 -#: ../../build/docs/basic/pedestrian.rst:306 -msgid "Walking" +#: ../../build/docs/basic/pedestrian.rst:122 +msgid "Get walking route" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:115 +#: ../../build/docs/basic/pedestrian.rst:124 msgid "from \"|place_1|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:116 +#: ../../build/docs/basic/pedestrian.rst:125 msgid "to \"|place_3|\"." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:118 +#: ../../build/docs/basic/pedestrian.rst:127 msgid "Calculate routes with costs in ``length`` in meters." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:124 -#: ../../build/docs/basic/pedestrian.rst:164 -#: ../../build/docs/basic/pedestrian.rst:198 -#: ../../build/docs/basic/pedestrian.rst:230 -#: ../../build/docs/basic/pedestrian.rst:263 -#: ../../build/docs/basic/pedestrian.rst:317 +#: ../../build/docs/basic/pedestrian.rst:128 +msgid "Create a view with the results data and geometry to be used in QGIS." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:131 +#: ../../build/docs/basic/pedestrian.rst:193 +#: ../../build/docs/basic/pedestrian.rst:228 +#: ../../build/docs/basic/pedestrian.rst:261 +#: ../../build/docs/basic/pedestrian.rst:293 +#: ../../build/docs/basic/pedestrian.rst:348 msgid "Solution:" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:125 -msgid "The pedestrian wants to go from vertex |id_1| to vertex |id_3| (lines **5** and **6**)." +#: ../../build/docs/basic/pedestrian.rst:132 +msgid "The pedestrian wants to go from vertex |id_1| to vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:126 -msgid "The pedestrian's cost is in terms of length. In this case ``length`` (line **3**)." +#: ../../build/docs/basic/pedestrian.rst:133 +msgid "The pedestrian's cost is in terms of length. In this case ``length``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:127 -msgid "From a pedestrian perspective the graph is ``undirected`` (line **7**), that is, the pedestrian can move in both directions on all segments." +#: ../../build/docs/basic/pedestrian.rst:134 +msgid "From a pedestrian perspective the graph is ``undirected``, that is, the pedestrian can move in both directions on all segments." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:141 -msgid "The returned cost attribute represents the cost specified in the inner SQL query (``edges_sql::text`` argument). In this example cost is ``length`` in unit \"meters\". Cost may be time, distance or any combination of both or any other attributes or a custom formula." +#: ../../build/docs/basic/pedestrian.rst:0 +msgid "Inner query" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:145 -msgid "``node`` and ``edge`` results may vary depending on the assignment of the identifiers to the vertices given by osm2pgrouting." +#: ../../build/docs/basic/pedestrian.rst:147 +msgid "Query formatted as ``TEXT`` used inside the function." msgstr "" #: ../../build/docs/basic/pedestrian.rst:149 -msgid "Exercise 2: Many Pedestrians going to the same destination" +msgid "The returned cost attribute represents the cost specified in the inner SQL query (``edges_sql::text`` argument). In this example cost is ``length`` in unit \"meters\". The exercises on this chapter will modify the cost." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:155 -#: ../../build/docs/basic/pedestrian.rst:221 -msgid "from \"|place_1|\" and \"|place_2|\"" +#: ../../build/docs/basic/pedestrian.rst:154 +msgid "``node`` and ``edge`` results may vary depending on the assignment of the identifiers to the vertices given by osm2pgrouting." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:156 -msgid "to the \"|place_3|\"." +#: ../../build/docs/basic/pedestrian.rst:157 +msgid "To create a view, ``JOIN`` the query results with the walk_net and capture the ``geom`` in the view." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:158 -msgid "Calculate routes with costs in ``length`` in kilometers." +#: ../../build/docs/basic/pedestrian.rst:160 +msgid "The query above is highlighted." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:161 +msgid "An additional ``SELECT`` is needed to display the data." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:165 -msgid "The pedestrians are departing at vertices |id_1| and |id_2| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:174 +msgid "Every time you make a change on the database, in QGIS, refresh the database and move the view to the layers." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:166 -msgid "All pedestrians want to go to vertex |id_3| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:178 +msgid "Exercise 2: Many Pedestrians going to the same destination" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:167 -msgid "The cost to be in kilometers using attribute ``length`` (line **3**)." +#: ../../build/docs/basic/pedestrian.rst:182 +#: ../../build/docs/basic/pedestrian.rst:214 +#: ../../build/docs/basic/pedestrian.rst:250 +#: ../../build/docs/basic/pedestrian.rst:282 +#: ../../build/docs/basic/pedestrian.rst:337 +msgid "Walking" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:180 -msgid "Exercise 3: Many Pedestrians departing from the same location" +#: ../../build/docs/basic/pedestrian.rst:184 +#: ../../build/docs/basic/pedestrian.rst:252 +msgid "from \"|place_1|\" and \"|place_2|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:186 -msgid "from \"|place_3|\"" +#: ../../build/docs/basic/pedestrian.rst:185 +msgid "to the \"|place_3|\"." msgstr "" #: ../../build/docs/basic/pedestrian.rst:187 -msgid "to \"|place_1|\" and \"|place_2|\"" +msgid "Calculate routes with costs in ``length`` in kilometers." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:189 -msgid "Calculate routes using the ``cost`` which is in seconds for a walking speed of ``2 mts/sec``." +#: ../../build/docs/basic/pedestrian.rst:194 +msgid "The pedestrians are departing at vertices |id_1| and |id_2|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:192 -msgid "See :doc:`graphs` for the costs setup." +#: ../../build/docs/basic/pedestrian.rst:195 +msgid "All pedestrians want to go to vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:199 -msgid "All pedestrians are departing from vertex |id_3| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:196 +msgid "The cost to be in kilometers using attribute ``length``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:200 -msgid "Pedestrians want to go to locations |id_1| and |id_2| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:210 +msgid "Exercise 3: Many Pedestrians departing from the same location" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:201 -msgid "The ``cost`` column on ``walk_net`` is in seconds. (line **3**)" +#: ../../build/docs/basic/pedestrian.rst:216 +msgid "from \"|place_3|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:215 -msgid "Exercise 4: Many Pedestrians going to different destinations" +#: ../../build/docs/basic/pedestrian.rst:217 +msgid "to \"|place_1|\" and \"|place_2|\"" +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:219 +msgid "Calculate routes using the ``cost`` which is in seconds for a walking speed of ``2 mts/sec``." msgstr "" #: ../../build/docs/basic/pedestrian.rst:222 -msgid "to \"|place_4|\" and \"|place_5|\"" +msgid "See :doc:`graphs` for the costs setup." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:224 -#: ../../build/docs/basic/pedestrian.rst:257 -msgid "Calculate routes with costs in minutes at walking speed ``s = 1.3 m/s``." +#: ../../build/docs/basic/pedestrian.rst:229 +msgid "All pedestrians are departing from vertex |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:231 -#: ../../build/docs/basic/pedestrian.rst:318 -msgid "The pedestrians depart from |id_1| and |id_2| (line **5**)." +#: ../../build/docs/basic/pedestrian.rst:230 +msgid "Pedestrians want to go to locations |id_1| and |id_2|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:232 -#: ../../build/docs/basic/pedestrian.rst:319 -msgid "The pedestrians want to go to destinations |id_4| and |id_5| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:231 +msgid "The ``cost`` column on ``walk_net`` is in seconds." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:233 -#: ../../build/docs/basic/pedestrian.rst:266 -#: ../../build/docs/basic/pedestrian.rst:320 -msgid "The cost to be in minutes, with a walking speed ``s = 1.3 m/s`` and ``t = d/s``." +#: ../../build/docs/basic/pedestrian.rst:246 +msgid "Exercise 4: Many Pedestrians going to different destinations" msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:1 -msgid "Inspecting the results, looking for totals (edge = -1):" +#: ../../build/docs/basic/pedestrian.rst:253 +msgid "to \"|place_3|\" and \"|place_5|\"" msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:3 -msgid "From 10832 to vertex 11046 takes 9.82 minutes (seq = 134)" +#: ../../build/docs/basic/pedestrian.rst:255 +#: ../../build/docs/basic/pedestrian.rst:287 +msgid "Calculate routes with costs in minutes at walking speed ``s = 1.3 m/s``." msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:5 -msgid "From 10832 to vertex 14824 takes 10.85 minutes (seq = 185)" +#: ../../build/docs/basic/pedestrian.rst:262 +msgid "The pedestrians depart from |id_1| and |id_2|." msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:7 -msgid "From 593 to vertex 11046 takes 9.07 minutes (seq = 50)" +#: ../../build/docs/basic/pedestrian.rst:263 +msgid "The pedestrians want to go to destinations |id_3| and |id_5|." msgstr "" -#: ../../build/docs/scripts/basic/pedestrian/note_1.txt:9 -msgid "From 593 to vertex 14824 takes 9.04 minutes (seq = 85)" +#: ../../build/docs/basic/pedestrian.rst:264 +#: ../../build/docs/basic/pedestrian.rst:296 +#: ../../build/docs/basic/pedestrian.rst:351 +msgid "The cost to be in minutes, with a walking speed ``s = 1.3 m/s`` and ``t = d/s``." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:248 +#: ../../build/docs/basic/pedestrian.rst:278 msgid "Exercise 5: Combination of routes" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:254 +#: ../../build/docs/basic/pedestrian.rst:284 msgid "First pedestrian goes from \"|place_1|\" to \"|place_4|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:255 -msgid "Second pedestrian goes from \"|place_2|\" to \"|place_5|\"" +#: ../../build/docs/basic/pedestrian.rst:285 +msgid "Second pedestrian goes from \"|place_3|\" to \"|place_5|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:264 -msgid "First pedestrian departs from |id_1| and the destination is |id_4| (line **6**)." +#: ../../build/docs/basic/pedestrian.rst:294 +msgid "First pedestrian departs from |id_1| and the destination is |id_3|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:265 -msgid "Second pedestrian departs from |id_2| and the destination is |id_5| (line **7**)." +#: ../../build/docs/basic/pedestrian.rst:295 +msgid "Second pedestrian departs from |id_2| and the destination is |id_5|." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:279 +#: ../../build/docs/basic/pedestrian.rst:310 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:281 +#: ../../build/docs/basic/pedestrian.rst:312 msgid "When the main goal is to calculate the total cost, without \"inspecting\" the `pgr_dijkstra` results, using ``pgr_dijkstraCost`` returns a more compact result." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:297 +#: ../../build/docs/basic/pedestrian.rst:328 msgid "Description of the parameters can be found in `pgr_dijkstraCost `__" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:302 +#: ../../build/docs/basic/pedestrian.rst:333 msgid "Exercise 6: Time for many Pedestrians going to different destinations" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:308 +#: ../../build/docs/basic/pedestrian.rst:339 msgid "from \"|place_1|\" or \"|place_2|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:309 +#: ../../build/docs/basic/pedestrian.rst:340 msgid "to \"|place_4|\" or \"|place_5|\"" msgstr "" -#: ../../build/docs/basic/pedestrian.rst:311 +#: ../../build/docs/basic/pedestrian.rst:342 msgid "Get only the cost in minutes." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:321 +#: ../../build/docs/basic/pedestrian.rst:349 +msgid "The pedestrians depart from |id_1| and |id_2| (line **5**)." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:350 +msgid "The pedestrians want to go to destinations |id_4| and |id_5| (line **6**)." +msgstr "" + +#: ../../build/docs/basic/pedestrian.rst:352 msgid "Result as aggregated costs." msgstr "" -#: ../../build/docs/basic/pedestrian.rst:333 -msgid "Compare with `Exercise 4: Many Pedestrians going to different destinations`_ 's note." +#: ../../build/docs/basic/pedestrian.rst:364 +msgid "The sanme results can be obtained from the ``pedestrian_many_to_many`` view:" msgstr "" diff --git a/locale/pot/basic/vehicle.pot b/locale/pot/basic/vehicle.pot index fc036783e..5c6cfc5bd 100644 --- a/locale/pot/basic/vehicle.pot +++ b/locale/pot/basic/vehicle.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,366 +16,376 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/basic/vehicle.rst:12 +#: ../../build/docs/basic/vehicle.rst:7 msgid "Vehicle Routing" msgstr "" -#: ../../build/docs/basic/vehicle.rst:18 +#: ../../build/docs/basic/vehicle.rst:13 msgid "Routing is not limited to pedestrians and most of the time is also used for routing vehicles." msgstr "" -#: ../../build/docs/basic/vehicle.rst:21 +#: ../../build/docs/basic/vehicle.rst:16 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/basic/vehicle.rst:24 +#: ../../build/docs/basic/vehicle.rst:19 msgid "Routing for vehicles" msgstr "" -#: ../../build/docs/basic/vehicle.rst:26 +#: ../../build/docs/basic/vehicle.rst:21 msgid "A query for vehicle routing generally differs from routing for pedestrians:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:28 +#: ../../build/docs/basic/vehicle.rst:23 msgid "The road segments are considered `directed`" msgstr "" -#: ../../build/docs/basic/vehicle.rst:29 +#: ../../build/docs/basic/vehicle.rst:24 msgid "Costs can be:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:31 +#: ../../build/docs/basic/vehicle.rst:26 msgid "Distance" msgstr "" -#: ../../build/docs/basic/vehicle.rst:32 +#: ../../build/docs/basic/vehicle.rst:27 msgid "Time" msgstr "" -#: ../../build/docs/basic/vehicle.rst:33 +#: ../../build/docs/basic/vehicle.rst:28 msgid "Euros" msgstr "" -#: ../../build/docs/basic/vehicle.rst:34 +#: ../../build/docs/basic/vehicle.rst:29 msgid "Pesos" msgstr "" -#: ../../build/docs/basic/vehicle.rst:35 +#: ../../build/docs/basic/vehicle.rst:30 msgid "Dollars" msgstr "" -#: ../../build/docs/basic/vehicle.rst:36 +#: ../../build/docs/basic/vehicle.rst:31 msgid "CO\\ :sub:`2`\\ emissions" msgstr "" -#: ../../build/docs/basic/vehicle.rst:37 +#: ../../build/docs/basic/vehicle.rst:32 msgid "Wear and tear on the vehicle, etc." msgstr "" -#: ../../build/docs/basic/vehicle.rst:39 +#: ../../build/docs/basic/vehicle.rst:34 msgid "The ``reverse_cost`` attribute must be taken into account on two way streets." msgstr "" -#: ../../build/docs/basic/vehicle.rst:41 +#: ../../build/docs/basic/vehicle.rst:36 msgid "The costs should have the same units as the ``cost`` attribute" msgstr "" -#: ../../build/docs/basic/vehicle.rst:42 +#: ../../build/docs/basic/vehicle.rst:37 msgid "``cost`` and ``reverse_cost`` values can be different" msgstr "" -#: ../../build/docs/basic/vehicle.rst:44 +#: ../../build/docs/basic/vehicle.rst:39 msgid "Due to the fact that there are roads that are **one way**" msgstr "" -#: ../../build/docs/basic/vehicle.rst:46 +#: ../../build/docs/basic/vehicle.rst:41 msgid "Depending on the geometry, the valid way:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:48 +#: ../../build/docs/basic/vehicle.rst:43 msgid "(``source, target``) segment ``IF cost >= 0 AND reverse_cost < 0``" msgstr "" -#: ../../build/docs/basic/vehicle.rst:49 +#: ../../build/docs/basic/vehicle.rst:44 msgid "(``target, source``) segment ``IF cost < 0 AND reverse_cost >= 0``" msgstr "" -#: ../../build/docs/basic/vehicle.rst:51 +#: ../../build/docs/basic/vehicle.rst:46 msgid "A **wrong way** is indicated with a **negative value** and is not inserted in the graph for processing." msgstr "" -#: ../../build/docs/basic/vehicle.rst:54 +#: ../../build/docs/basic/vehicle.rst:49 msgid "**Two way** roads - ``IF cost >= 0 AND reverse_cost >= 0`` and their values can be different. For example, it is faster going down hill on a sloped road. In general, ``cost`` and ``reverse_cost`` do not need to be length; they can be almost anything, for example - time, slope, surface, road type, etc., or they can be a combination of multiple parameters." msgstr "" -#: ../../build/docs/basic/vehicle.rst:61 +#: ../../build/docs/basic/vehicle.rst:56 msgid "The following queries indicate the number of road segments, where a \"one way\" rule applies:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:62 +#: ../../build/docs/basic/vehicle.rst:57 msgid "Number of (``source, target``) segments with ``cost < 0`` (line **3**)." msgstr "" -#: ../../build/docs/basic/vehicle.rst:71 +#: ../../build/docs/basic/vehicle.rst:66 msgid "Number of (``target, source``) segments with ``reverse_cost < 0`` (line **3**)." msgstr "" -#: ../../build/docs/basic/vehicle.rst:83 +#: ../../build/docs/basic/vehicle.rst:78 msgid "Exercise 1: Vehicle routing - going" msgstr "" -#: ../../build/docs/basic/vehicle.rst:86 -#: ../../build/docs/basic/vehicle.rst:112 -#: ../../build/docs/basic/vehicle.rst:139 -#: ../../build/docs/basic/vehicle.rst:185 -#: ../../build/docs/basic/vehicle.rst:257 -#: ../../build/docs/basic/vehicle.rst:292 +#: ../../build/docs/basic/vehicle.rst:81 +#: ../../build/docs/basic/vehicle.rst:107 +#: ../../build/docs/basic/vehicle.rst:135 +#: ../../build/docs/basic/vehicle.rst:183 +#: ../../build/docs/basic/vehicle.rst:210 +#: ../../build/docs/basic/vehicle.rst:282 +#: ../../build/docs/basic/vehicle.rst:318 msgid "Problem:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:87 +#: ../../build/docs/basic/vehicle.rst:82 msgid "From the \"|place_1|\" to the \"|place_3|\" by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:89 +#: ../../build/docs/basic/vehicle.rst:84 msgid "From |place_1| to the |place_3| by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:94 -#: ../../build/docs/basic/vehicle.rst:120 -#: ../../build/docs/basic/vehicle.rst:147 -#: ../../build/docs/basic/vehicle.rst:193 -#: ../../build/docs/basic/vehicle.rst:265 -#: ../../build/docs/basic/vehicle.rst:296 +#: ../../build/docs/basic/vehicle.rst:89 +#: ../../build/docs/basic/vehicle.rst:115 +#: ../../build/docs/basic/vehicle.rst:143 +#: ../../build/docs/basic/vehicle.rst:188 +#: ../../build/docs/basic/vehicle.rst:290 +#: ../../build/docs/basic/vehicle.rst:322 msgid "Solution:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:95 +#: ../../build/docs/basic/vehicle.rst:90 msgid "``cost`` and ``reverse_cost`` columns, are in seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:96 +#: ../../build/docs/basic/vehicle.rst:91 msgid "The vehicle is going from vertex |id_1| to |id_3|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:109 +#: ../../build/docs/basic/vehicle.rst:104 msgid "Exercise 2: Vehicle routing - returning" msgstr "" -#: ../../build/docs/basic/vehicle.rst:113 +#: ../../build/docs/basic/vehicle.rst:108 msgid "From \"|place_3|\" to the \"|place_1|\" by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:115 +#: ../../build/docs/basic/vehicle.rst:110 msgid "From |place_3| to the |place_1| by car." msgstr "" -#: ../../build/docs/basic/vehicle.rst:121 -#: ../../build/docs/basic/vehicle.rst:156 +#: ../../build/docs/basic/vehicle.rst:116 +#: ../../build/docs/basic/vehicle.rst:152 msgid "The vehicle is going from vertex |id_3| to |id_1|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:132 +#: ../../build/docs/basic/vehicle.rst:128 msgid "On a directed graph, going and coming back routes, most of the time are different." msgstr "" -#: ../../build/docs/basic/vehicle.rst:136 +#: ../../build/docs/basic/vehicle.rst:132 msgid "Exercise 3: Vehicle routing when time is money" msgstr "" -#: ../../build/docs/basic/vehicle.rst:140 -msgid "From \"|place_3|\" to the \"|place_1|\" by taxi." +#: ../../build/docs/basic/vehicle.rst:136 +msgid "From \"|place_3|\" to the \"|place_1|\"" msgstr "" -#: ../../build/docs/basic/vehicle.rst:142 -msgid "From |place_3| to |place_1| by taxi." +#: ../../build/docs/basic/vehicle.rst:138 +#: ../../build/docs/basic/vehicle.rst:213 +#: ../../build/docs/basic/vehicle.rst:285 +msgid "From |place_3| to |place_1|" msgstr "" -#: ../../build/docs/basic/vehicle.rst:148 -msgid "Use the ``taxi_net``." +#: ../../build/docs/basic/vehicle.rst:144 +msgid "Use the ``vehicle_net``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:149 +#: ../../build/docs/basic/vehicle.rst:145 msgid "The cost is ``$100 per hour``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:151 +#: ../../build/docs/basic/vehicle.rst:147 msgid "Using ``cost`` and ``reverse_cost`` columns, which are in seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:153 +#: ../../build/docs/basic/vehicle.rst:149 msgid "The duration in hours is ``cost / 3600``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:154 +#: ../../build/docs/basic/vehicle.rst:150 msgid "The cost in ``dollars`` is ``cost / 3600 * 100``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:168 +#: ../../build/docs/basic/vehicle.rst:165 msgid "Comparing with `Exercise 2: Vehicle routing - returning`_:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:170 +#: ../../build/docs/basic/vehicle.rst:167 msgid "The total number of records are identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:171 +#: ../../build/docs/basic/vehicle.rst:168 msgid "The node sequence is identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:172 +#: ../../build/docs/basic/vehicle.rst:169 msgid "The edge sequence is identical." msgstr "" -#: ../../build/docs/basic/vehicle.rst:173 +#: ../../build/docs/basic/vehicle.rst:170 msgid "The cost and agg_cost results are directly proportional." msgstr "" -#: ../../build/docs/basic/vehicle.rst:177 +#: ../../build/docs/basic/vehicle.rst:174 msgid "Cost manipulations" msgstr "" -#: ../../build/docs/basic/vehicle.rst:179 +#: ../../build/docs/basic/vehicle.rst:176 msgid "In this workshop, costs are going to be manipulated using the ``configuration`` table." msgstr "" -#: ../../build/docs/basic/vehicle.rst:182 -msgid "Exercise 4: Vehicle routing without penalization" -msgstr "" - -#: ../../build/docs/basic/vehicle.rst:186 -msgid "From the \"|place_3|\" to \"|place_1|\"" +#: ../../build/docs/basic/vehicle.rst:180 +msgid "Exercise 4: Create a penalazied view" msgstr "" -#: ../../build/docs/basic/vehicle.rst:188 -#: ../../build/docs/basic/vehicle.rst:260 -msgid "From |place_3| to |place_1|" +#: ../../build/docs/basic/vehicle.rst:184 +msgid "Add a penalty column on the :code:`configuration` table with default value of 1. Create a view that uses the value of the column to modify the costs." msgstr "" -#: ../../build/docs/basic/vehicle.rst:194 -msgid "Add a penalty column" +#: ../../build/docs/basic/vehicle.rst:189 +msgid "Add the penalty column with the default value of ``1``." msgstr "" -#: ../../build/docs/basic/vehicle.rst:196 -msgid "All roads have a ``penalty`` of ``1``." +#: ../../build/docs/basic/vehicle.rst:195 +msgid "Create the penalized vehicle net" msgstr "" -#: ../../build/docs/basic/vehicle.rst:202 +#: ../../build/docs/basic/vehicle.rst:201 msgid "The vehicle's cost in this case will be in penalized seconds." msgstr "" -#: ../../build/docs/basic/vehicle.rst:204 -msgid "Costs are to be multiplied by :code:`penalty` (lines **5** and **6**)." +#: ../../build/docs/basic/vehicle.rst:203 +msgid "Costs are to be multiplied by :code:`penalty`" msgstr "" -#: ../../build/docs/basic/vehicle.rst:205 +#: ../../build/docs/basic/vehicle.rst:204 msgid "Costs won't change (:math:`cost * 1 = cost`)." msgstr "" #: ../../build/docs/basic/vehicle.rst:207 -msgid "The :code:`configuration` table is linked with the :code:`ways` table by the :code:`tag_id` field using a ``JOIN``" +msgid "Exercise 5: Vehicle routing without penalization" msgstr "" -#: ../../build/docs/basic/vehicle.rst:209 +#: ../../build/docs/basic/vehicle.rst:211 +msgid "From the \"|place_3|\" to \"|place_1|\" use the penalized view." +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:217 msgid "The vehicle is going from vertex |id_3| to vertex |id_1|." msgstr "" -#: ../../build/docs/basic/vehicle.rst:224 -msgid "Exercise 5: Vehicle routing with penalization" +#: ../../build/docs/basic/vehicle.rst:229 +msgid "Simple check, the results are the same as the :code:`vehicle_route_coming` view." +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:242 +msgid "Exercise 6: Penalizing based on the kind of roads" msgstr "" -#: ../../build/docs/basic/vehicle.rst:227 +#: ../../build/docs/basic/vehicle.rst:245 msgid "Concept:" msgstr "" -#: ../../build/docs/basic/vehicle.rst:228 +#: ../../build/docs/basic/vehicle.rst:246 msgid "Change the cost values for the :code:`configuration` table, in such a way, that the" msgstr "" -#: ../../build/docs/basic/vehicle.rst:230 +#: ../../build/docs/basic/vehicle.rst:248 msgid "Bicycle roads are not used." msgstr "" -#: ../../build/docs/basic/vehicle.rst:232 +#: ../../build/docs/basic/vehicle.rst:250 msgid "``penalty < 0`` makes the road not to be included in the graph." msgstr "" -#: ../../build/docs/basic/vehicle.rst:234 +#: ../../build/docs/basic/vehicle.rst:252 msgid "Using residential roads is not encouraged." msgstr "" -#: ../../build/docs/basic/vehicle.rst:236 +#: ../../build/docs/basic/vehicle.rst:254 msgid "``penalty > 1`` makes the road slower for the calculations." msgstr "" -#: ../../build/docs/basic/vehicle.rst:238 +#: ../../build/docs/basic/vehicle.rst:256 msgid "Using \"faster\" roads is highly encouraged." msgstr "" -#: ../../build/docs/basic/vehicle.rst:240 +#: ../../build/docs/basic/vehicle.rst:258 msgid "``penalty < 1`` makes the road faster for the calculations." msgstr "" -#: ../../build/docs/basic/vehicle.rst:242 +#: ../../build/docs/basic/vehicle.rst:260 msgid "All other roads are not penalized." msgstr "" -#: ../../build/docs/basic/vehicle.rst:244 +#: ../../build/docs/basic/vehicle.rst:262 msgid "``penalty = 1`` does not modify the road times." msgstr "" -#: ../../build/docs/basic/vehicle.rst:246 +#: ../../build/docs/basic/vehicle.rst:264 msgid "The ``penalty`` values can be changed with ``UPDATE`` queries." msgstr "" -#: ../../build/docs/basic/vehicle.rst:248 +#: ../../build/docs/basic/vehicle.rst:266 msgid "These values are an exaggeration." msgstr "" -#: ../../build/docs/basic/vehicle.rst:258 +#: ../../build/docs/basic/vehicle.rst:279 +msgid "Exercise 7: Vehicle routing with penalization" +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:283 msgid "From the \"|place_3|\" to \"|place_1|\" with penalization." msgstr "" -#: ../../build/docs/basic/vehicle.rst:266 -msgid "Using the same query from `Exercise 4: Vehicle routing without penalization`_" +#: ../../build/docs/basic/vehicle.rst:291 +msgid "Using the same query from `Exercise 5: Vehicle routing without penalization`_" msgstr "" -#: ../../build/docs/basic/vehicle.rst:279 -msgid "Comparing with `Exercise 3: Vehicle routing when time is money`_:" +#: ../../build/docs/basic/vehicle.rst:304 +msgid "Comparing with `Exercise 5: Vehicle routing without penalization`_" msgstr "" -#: ../../build/docs/basic/vehicle.rst:281 +#: ../../build/docs/basic/vehicle.rst:306 +msgid "The query is the same." +msgstr "" + +#: ../../build/docs/basic/vehicle.rst:307 msgid "The total number of records changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:283 +#: ../../build/docs/basic/vehicle.rst:309 msgid "The node sequence changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:284 +#: ../../build/docs/basic/vehicle.rst:310 msgid "The edge sequence changed." msgstr "" -#: ../../build/docs/basic/vehicle.rst:286 +#: ../../build/docs/basic/vehicle.rst:312 msgid "The costs do not change proportionally." msgstr "" -#: ../../build/docs/basic/vehicle.rst:289 -msgid "Exercise 6: Time in seconds of penalized route using a view" +#: ../../build/docs/basic/vehicle.rst:315 +msgid "Exercise 8: Original time of penalized route" msgstr "" -#: ../../build/docs/basic/vehicle.rst:293 +#: ../../build/docs/basic/vehicle.rst:319 msgid "Get the times in seconds of a penalized route" msgstr "" -#: ../../build/docs/basic/vehicle.rst:297 +#: ../../build/docs/basic/vehicle.rst:323 msgid "Create a penalized view by joining the ``vehicle_net`` joined with the ``configuration`` table" msgstr "" -#: ../../build/docs/basic/vehicle.rst:300 -msgid "Use the inner query from `Exercise 5: Vehicle routing with penalization`_" -msgstr "" - -#: ../../build/docs/basic/vehicle.rst:308 -msgid "Get the route ``configuration`` table" +#: ../../build/docs/basic/vehicle.rst:326 +msgid "Use the inner query from `Exercise 5: Vehicle routing without penalization`_" msgstr "" diff --git a/locale/pot/general-intro/introduction.pot b/locale/pot/general-intro/introduction.pot index 744e7935e..7fcd54fb1 100644 --- a/locale/pot/general-intro/introduction.pot +++ b/locale/pot/general-intro/introduction.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,145 +16,136 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/general-intro/introduction.rst:11 +#: ../../build/docs/general-intro/introduction.rst:6 msgid "Introduction" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:13 +#: ../../build/docs/general-intro/introduction.rst:8 msgid "|pgrouting-web| adds routing functionality to |postgis-web|." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:15 -msgid "Please see the :doc:`contents <../index>` for full content of FOSS4G Auckland workshop. This workshop covers two levels for using pgRouting: `Basic`_ and `Advanced`_." +#: ../../build/docs/general-intro/introduction.rst:10 +msgid "Please see the :doc:`contents <../index>` for full content of FOSS4G Hiroshima workshop. This workshop covers two levels for using pgRouting: `Basic`_ and `Advanced`_." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:20 +#: ../../build/docs/general-intro/introduction.rst:15 msgid "Basic" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:22 -msgid "This level will demonstrate the routing functionality by providing examples using |osm-web| road network data from Auckland. Covering topics from how to prepare the data, making routing queries, understanding the results, up to writing a custom 'plpgsql' function that can be integrated with other FOSS tools." +#: ../../build/docs/general-intro/introduction.rst:17 +msgid "This level will demonstrate the routing functionality by providing examples using |osm-web| road network data from Hiroshima. Covering topics from how to prepare the data, making routing queries, understanding the results, up to writing a custom 'plpgsql' function that can be integrated with other FOSS tools." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:28 +#: ../../build/docs/general-intro/introduction.rst:23 msgid "Installing pgRouting." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:29 +#: ../../build/docs/general-intro/introduction.rst:24 msgid "Creating a routing topology." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:30 +#: ../../build/docs/general-intro/introduction.rst:25 msgid "Importing |osm-web| road network data." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:31 +#: ../../build/docs/general-intro/introduction.rst:26 msgid "Using pgRouting algorithms." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:32 -msgid "Writing advanced queries." +#: ../../build/docs/general-intro/introduction.rst:27 +msgid "Writing queries." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:33 -msgid "Writing a custom PostgreSQL stored procedure in `plpgsql`." +#: ../../build/docs/general-intro/introduction.rst:28 +msgid "Writing a custom PostgreSQL stored function." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:36 -#: ../../build/docs/general-intro/introduction.rst:49 +#: ../../build/docs/general-intro/introduction.rst:31 +#: ../../build/docs/general-intro/introduction.rst:43 msgid "Prerequisites" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:37 -msgid "Workshop level: basic" -msgstr "" - -#: ../../build/docs/general-intro/introduction.rst:38 -msgid "Previous knowledge: SQL (PostgreSQL, PostGIS)" +#: ../../build/docs/general-intro/introduction.rst:32 +msgid "Previous knowledge: PostgreSQL, PostGIS" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:39 -#: ../../build/docs/general-intro/introduction.rst:52 +#: ../../build/docs/general-intro/introduction.rst:33 +#: ../../build/docs/general-intro/introduction.rst:45 msgid "Equipments: `OSGeoLive `__ (17)" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:42 +#: ../../build/docs/general-intro/introduction.rst:36 msgid "Advanced" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:44 +#: ../../build/docs/general-intro/introduction.rst:38 msgid "pgRouting is an extendible open-source library that provides a variety of tools for graph algorithms, this is not limited to routing vehicles. The advanced section covers several graph problems that can be solved using pgRouting." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:50 -msgid "Workshop level: Advanced" -msgstr "" - -#: ../../build/docs/general-intro/introduction.rst:51 -msgid "Previous knowledge: SQL (PostgreSQL, PostGIS, pgRouting)" +#: ../../build/docs/general-intro/introduction.rst:44 +msgid "Previous knowledge: PostgreSQL, PostGIS, pgRouting basic level." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:55 +#: ../../build/docs/general-intro/introduction.rst:48 msgid "Aknowledments" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:58 +#: ../../build/docs/general-intro/introduction.rst:51 msgid "Sponsored by" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:59 -#: ../../build/docs/general-intro/introduction.rst:64 +#: ../../build/docs/general-intro/introduction.rst:52 msgid "Paragon Corporation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:70 -msgid "Developers & presenters of FOSS4G Auckland workshop:" +#: ../../build/docs/general-intro/introduction.rst:57 +msgid "Erosion freelancers" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:71 -msgid "*Vicky Vergara* is a freelance developer from Mexico. She is the core developer of the pgRouting project and a GSoC Mentor. She also serves as an OSGeo Charter member." +#: ../../build/docs/general-intro/introduction.rst:63 +msgid "Developers & presenters of FOSS4G Hiroshima workshop:" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:74 -msgid "*Ramón Ríos* is a freelance developer from Mexico. He is the Lead Engineer for ParkUpFront." +#: ../../build/docs/general-intro/introduction.rst:64 +msgid "*Vicky Vergara* is a freelance developer from Mexico. She is the core developer of the pgRouting project and a GSoC Mentor. She also serves as an OSGeo Charter member." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:79 +#: ../../build/docs/general-intro/introduction.rst:68 msgid "Past and present tutors and developers:" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:80 -msgid "Daniel Kastl, José Ríos, Ko Nagase, Stephen Woodbridge, Swapnil Joshi, Rajat Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara" +#: ../../build/docs/general-intro/introduction.rst:69 +msgid "Daniel Kastl, Iosefa Persival, José Ríos, Ko Nagase, Stephen Woodbridge, Swapnil Joshi, Rajat Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:91 +#: ../../build/docs/general-intro/introduction.rst:81 msgid "Past and present supporters:" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:92 -msgid "Georepublic, Paragon Corporation" +#: ../../build/docs/general-intro/introduction.rst:82 +msgid "erosion Georepublic, Paragon Corporation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:96 +#: ../../build/docs/general-intro/introduction.rst:87 msgid "License" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:97 +#: ../../build/docs/general-intro/introduction.rst:88 msgid "This work is licensed under a `Creative Commons Attribution-Share Alike 3.0 License `_." msgstr "" -#: ../../build/docs/general-intro/introduction.rst:103 +#: ../../build/docs/general-intro/introduction.rst:94 msgid "Become a sponsor" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:105 +#: ../../build/docs/general-intro/introduction.rst:96 msgid "The Linux Foundation" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:110 +#: ../../build/docs/general-intro/introduction.rst:101 msgid "Open Collective" msgstr "" -#: ../../build/docs/general-intro/introduction.rst:115 +#: ../../build/docs/general-intro/introduction.rst:106 msgid "OSGeo Foundation" msgstr "" diff --git a/locale/pot/general-intro/overview.pot b/locale/pot/general-intro/overview.pot index 9600b9f00..aab688465 100644 --- a/locale/pot/general-intro/overview.pot +++ b/locale/pot/general-intro/overview.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:20+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,87 +16,71 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/general-intro/overview.rst:11 -msgid "Software and Data Overview" +#: ../../build/docs/general-intro/overview.rst:6 +msgid "Software and Data Source Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:18 +#: ../../build/docs/general-intro/overview.rst:13 +msgid "pgRouting is a community project of OSGeo." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:15 msgid "This workshop uses several free and open source softwares for geospatial tools. Most of these softwares are related to other open source software projects. Here we mention the most important ones." msgstr "" -#: ../../build/docs/general-intro/overview.rst:23 +#: ../../build/docs/general-intro/overview.rst:19 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/general-intro/overview.rst:26 +#: ../../build/docs/general-intro/overview.rst:22 msgid "pgRouting Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:32 +#: ../../build/docs/general-intro/overview.rst:28 msgid "pgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality." msgstr "" -#: ../../build/docs/general-intro/overview.rst:35 +#: ../../build/docs/general-intro/overview.rst:31 msgid "Advantages of the database routing approach are:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:37 -msgid "Data and attributes can be modified by many clients, like QGIS or by directly using PL/pgSQL. The clients can either be personal computers or mobile devices." +#: ../../build/docs/general-intro/overview.rst:33 +msgid "Data and attributes are stored on a PostreSQL database and as such they can be modified can be modified by many clients." msgstr "" -#: ../../build/docs/general-intro/overview.rst:40 -msgid "Data changes can be reflected instantaneously through the routing engine. There is no need for precalculation." +#: ../../build/docs/general-intro/overview.rst:35 +msgid "Data changes can be reflected instantaneously through the routing engine. There is no need for pre-calculation." msgstr "" -#: ../../build/docs/general-intro/overview.rst:42 +#: ../../build/docs/general-intro/overview.rst:37 msgid "The “cost” parameter can be dynamically calculated through SQL and its value can come from multiple fields or tables." msgstr "" -#: ../../build/docs/general-intro/overview.rst:45 +#: ../../build/docs/general-intro/overview.rst:40 msgid "Some of the pgRouting library core features are:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:47 -msgid "`Dijkstra Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:48 -msgid "`Johnson's Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:49 -msgid "`Floyd-Warshall Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:50 -msgid "`A* Search Algorithm `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:51 -msgid "`Bi-directional Dijkstra `__" -msgstr "" - -#: ../../build/docs/general-intro/overview.rst:52 -msgid "`Bi-directional A* `__" +#: ../../build/docs/general-intro/overview.rst:42 +msgid "`Functions based on Dijkstra Algorithm `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:53 -msgid "`Traveling Salesperson Problem `__" +#: ../../build/docs/general-intro/overview.rst:43 +msgid "`Functions based on `A* Search Algorithm `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:54 -msgid "`Driving Distance `__" +#: ../../build/docs/general-intro/overview.rst:44 +msgid "`Graph commponent functions `__" msgstr "" -#: ../../build/docs/general-intro/overview.rst:55 +#: ../../build/docs/general-intro/overview.rst:45 msgid "`and many more `_" msgstr "" -#: ../../build/docs/general-intro/overview.rst:57 +#: ../../build/docs/general-intro/overview.rst:47 msgid "pgRouting is an open source software available under the GPLv2 license and is supported and maintained by the pgRouting community." msgstr "" -#: ../../build/docs/general-intro/overview.rst:60 +#: ../../build/docs/general-intro/overview.rst:50 msgid "`pgRouting `_ is part of `OSGeo Community Projects `__ under `OSGeo Foundation `__. It is included on `OSGeoLive `__." msgstr "" @@ -104,19 +88,19 @@ msgstr "" msgid "Check it out on OSGeoLive" msgstr "" -#: ../../build/docs/general-intro/overview.rst:65 +#: ../../build/docs/general-intro/overview.rst:55 msgid "https://live.osgeo.org/en/overview/pgrouting_overview.html" msgstr "" -#: ../../build/docs/general-intro/overview.rst:69 +#: ../../build/docs/general-intro/overview.rst:59 msgid "osm2pgrouting Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:76 +#: ../../build/docs/general-intro/overview.rst:66 msgid "osm2pgrouting is a command line tool that imports OpenStreetMap data into a pgRouting database. It builds the routing network topology automatically and creates tables for feature types and road classes. osm2pgrouting was primarily written by Daniel Wendt and is now hosted on the pgRouting project site." msgstr "" -#: ../../build/docs/general-intro/overview.rst:81 +#: ../../build/docs/general-intro/overview.rst:71 msgid "osm2pgrouting is available under the GPLv2 license." msgstr "" @@ -124,35 +108,47 @@ msgstr "" msgid "Wiki" msgstr "" -#: ../../build/docs/general-intro/overview.rst:83 +#: ../../build/docs/general-intro/overview.rst:73 msgid "https://github.com/pgRouting/osm2pgrouting/wiki" msgstr "" -#: ../../build/docs/general-intro/overview.rst:87 +#: ../../build/docs/general-intro/overview.rst:77 msgid "OpenStreetMap Overview" msgstr "" -#: ../../build/docs/general-intro/overview.rst:101 -msgid "OpenStreetMap is an incredible data source for pgRouting because it has no technical restrictions in terms of processing the data. Data availability still varies from country to country, but the worldwide coverage is improving day by day." +#: ../../build/docs/general-intro/overview.rst:83 +msgid "OpenStreetMap is an incredible data source for pgRouting because it has no technical restrictions in terms of processing the data. Data availability still varies from country to country, but the worldwide coverage is improving day by day. In its own words:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:106 +#: ../../build/docs/general-intro/overview.rst:88 +msgid "OpenStreetMap (OSM) is dedicated to creating and providing geographic data, such as street maps, worldwide, for free." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:91 +msgid "Most maps considered 'free' actually have legal or technical restrictions on their use. These restrictions hold back anyone from using them in creative, productive or unexpected ways, and make every map a silo of data and effort." +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:95 +msgid "`Source: OSM Press Wiki `_" +msgstr "" + +#: ../../build/docs/general-intro/overview.rst:97 msgid "OpenStreetMap uses a topological data structure:" msgstr "" -#: ../../build/docs/general-intro/overview.rst:108 +#: ../../build/docs/general-intro/overview.rst:99 msgid "Nodes are points with a geographic position." msgstr "" -#: ../../build/docs/general-intro/overview.rst:109 +#: ../../build/docs/general-intro/overview.rst:100 msgid "Ways are lists of nodes, representing a polyline or polygon." msgstr "" -#: ../../build/docs/general-intro/overview.rst:110 +#: ../../build/docs/general-intro/overview.rst:101 msgid "Relations are groups of nodes, ways and other relations which can be assigned certain properties." msgstr "" -#: ../../build/docs/general-intro/overview.rst:112 +#: ../../build/docs/general-intro/overview.rst:103 msgid "Properties can be assigned to nodes, ways or relations and consist of :code:`name = value` pairs." msgstr "" @@ -160,6 +156,6 @@ msgstr "" msgid "Website" msgstr "" -#: ../../build/docs/general-intro/overview.rst:115 +#: ../../build/docs/general-intro/overview.rst:106 msgid "https://www.openstreetmap.org" msgstr "" diff --git a/locale/pot/un_sdg/data.pot b/locale/pot/un_sdg/data.pot index aa323329c..74dabf070 100644 --- a/locale/pot/un_sdg/data.pot +++ b/locale/pot/un_sdg/data.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2010-2025 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Auckland package. +# This file is distributed under the same license as the Workshop FOSS4G Hiroshima package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Workshop FOSS4G Auckland 3.1\n" +"Project-Id-Version: Workshop FOSS4G Hiroshima 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-14 15:17+0000\n" +"POT-Creation-Date: 2026-06-25 21:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,240 +16,240 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../build/docs/un_sdg/data.rst:11 +#: ../../build/docs/un_sdg/data.rst:6 msgid "Data for Sustainable Development Goals" msgstr "" -#: ../../build/docs/un_sdg/data.rst:16 +#: ../../build/docs/un_sdg/data.rst:11 msgid "To be able to use pgRouting, data has to be imported into a database. This chapter will use ``osm2pgrouting`` to get that the data from OpenStreetMap (OSM). This data will be used for exercises in further chapters." msgstr "" -#: ../../build/docs/un_sdg/data.rst:20 +#: ../../build/docs/un_sdg/data.rst:15 msgid "Chapter Contents" msgstr "" -#: ../../build/docs/un_sdg/data.rst:23 +#: ../../build/docs/un_sdg/data.rst:18 msgid "Work Directory for pgRouting data manipulation" msgstr "" -#: ../../build/docs/un_sdg/data.rst:31 +#: ../../build/docs/un_sdg/data.rst:26 msgid "Mumbai database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:33 +#: ../../build/docs/un_sdg/data.rst:28 msgid "pgRouting is pre-installed as an extension which requires:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:35 +#: ../../build/docs/un_sdg/data.rst:30 msgid "Supported PostgreSQL version" msgstr "" -#: ../../build/docs/un_sdg/data.rst:36 +#: ../../build/docs/un_sdg/data.rst:31 msgid "Supported PostGIS version" msgstr "" -#: ../../build/docs/un_sdg/data.rst:38 -msgid "These requirements are met on OSGeoLive. When the required software is installed, open a terminal window by pressing ``ctrl-alt-t`` and follow the instructions. Information about installing OSGeoLive can be found in :doc:`../general-intro/osgeolive` of this workshop." +#: ../../build/docs/un_sdg/data.rst:33 +msgid "These requirements are met on OSGeoLive. When the required software is installed, open a terminal window by pressing ``ctrl-alt-t`` and follow the instructions. Information about installing OSGeoLive can be found in :doc:`../appendix/osgeolive` of this workshop." msgstr "" -#: ../../build/docs/un_sdg/data.rst:43 +#: ../../build/docs/un_sdg/data.rst:38 msgid "If you don't have pgRouting installed. You can find the installation procedure at this `link `__" msgstr "" -#: ../../build/docs/un_sdg/data.rst:49 +#: ../../build/docs/un_sdg/data.rst:44 msgid "Create Mumbai database compatible with pgRouting" msgstr "" -#: ../../build/docs/un_sdg/data.rst:51 +#: ../../build/docs/un_sdg/data.rst:46 msgid "Use the following command to create ``mumbai`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:57 -#: ../../build/docs/un_sdg/data.rst:190 +#: ../../build/docs/un_sdg/data.rst:52 +#: ../../build/docs/un_sdg/data.rst:185 msgid "To connect to the database do the following" msgstr "" -#: ../../build/docs/un_sdg/data.rst:63 -#: ../../build/docs/un_sdg/data.rst:197 +#: ../../build/docs/un_sdg/data.rst:58 +#: ../../build/docs/un_sdg/data.rst:192 msgid "After connecting to the database, first step is to create ``EXTENSION`` to enable pgRouting and PostGIS in the database. Then add the ``SCHEMA`` for each table." msgstr "" -#: ../../build/docs/un_sdg/data.rst:73 +#: ../../build/docs/un_sdg/data.rst:68 msgid "Get the Mumbai Data" msgstr "" -#: ../../build/docs/un_sdg/data.rst:74 +#: ../../build/docs/un_sdg/data.rst:69 msgid "The pgRouting workshop will make use of OpenStreetMap data of an area in Mumbai City. The instructions for downloading the data are given below." msgstr "" -#: ../../build/docs/un_sdg/data.rst:78 +#: ../../build/docs/un_sdg/data.rst:73 msgid "Downloading Mumbai data from OSGeo" msgstr "" -#: ../../build/docs/un_sdg/data.rst:80 +#: ../../build/docs/un_sdg/data.rst:75 msgid "The following command is used to download the snapshot of the Mumbai area data used in this workshop, using the download service of OSGeo." msgstr "" -#: ../../build/docs/un_sdg/data.rst:83 +#: ../../build/docs/un_sdg/data.rst:78 msgid "The Mumbai data for this workshop depends on this `snapshot `__." msgstr "" -#: ../../build/docs/un_sdg/data.rst:93 +#: ../../build/docs/un_sdg/data.rst:88 msgid "Downloading Mumbai data from OpenStreetMap (OSM)" msgstr "" -#: ../../build/docs/un_sdg/data.rst:94 +#: ../../build/docs/un_sdg/data.rst:89 msgid "The following command is used to download the OpenStreetMap data of the area in Mumbai, India." msgstr "" -#: ../../build/docs/un_sdg/data.rst:96 +#: ../../build/docs/un_sdg/data.rst:91 msgid "OpenStreetMap data changes on a day to day basis, therefore if this data is used, the results might change and some queries might need adjustments. The command was used to take the snapshot of the data on June 2021." msgstr "" -#: ../../build/docs/un_sdg/data.rst:107 +#: ../../build/docs/un_sdg/data.rst:102 msgid "Upload Mumbai data to the database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:109 -#: ../../build/docs/un_sdg/data.rst:238 +#: ../../build/docs/un_sdg/data.rst:104 +#: ../../build/docs/un_sdg/data.rst:233 msgid "The next step is to run ``osm2pgrouting`` converter, which is a command line tool that inserts the data in the database, \"ready\" to be used with pgRouting. See :doc:`../appendix/appendix-3` for additional information about ``osm2pgrouting``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:113 -#: ../../build/docs/un_sdg/data.rst:242 +#: ../../build/docs/un_sdg/data.rst:108 +#: ../../build/docs/un_sdg/data.rst:237 msgid "For this step the following is used:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:115 +#: ../../build/docs/un_sdg/data.rst:110 msgid "``mumbai_buildings.xml`` and ``mumbai_roads.xml`` configuration files for osm2pgrouting." msgstr "" -#: ../../build/docs/un_sdg/data.rst:116 +#: ../../build/docs/un_sdg/data.rst:111 msgid "``~/Desktop/workshop/mumbai.osm`` - OSM data from the previous step" msgstr "" -#: ../../build/docs/un_sdg/data.rst:117 +#: ../../build/docs/un_sdg/data.rst:112 msgid "``mumbai`` database." msgstr "" -#: ../../build/docs/un_sdg/data.rst:119 -#: ../../build/docs/un_sdg/data.rst:248 +#: ../../build/docs/un_sdg/data.rst:114 +#: ../../build/docs/un_sdg/data.rst:243 msgid "Contents of the configuration files are given in the `Appendix`_. Create a XML file using these contents and save it into the root directory ``~/Desktop/workshop``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:122 +#: ../../build/docs/un_sdg/data.rst:117 msgid "Open a terminal window by ``ctrl-alt-t`` and move to the workshop directory by ``cd ~/Desktop/workshop``. The following ``osm2pgrouting`` command will be used to convert the osm files to pgRouting friendly format which we will use for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:127 +#: ../../build/docs/un_sdg/data.rst:122 msgid "Importing Mumbai Roads" msgstr "" -#: ../../build/docs/un_sdg/data.rst:129 +#: ../../build/docs/un_sdg/data.rst:124 msgid "The following ``osm2pgrouting`` command will be used to import the Roads from OpenStreetMaps file to pgRouting database which we will use for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:139 -#: ../../build/docs/un_sdg/data.rst:160 -#: ../../build/docs/un_sdg/data.rst:266 +#: ../../build/docs/un_sdg/data.rst:134 +#: ../../build/docs/un_sdg/data.rst:155 +#: ../../build/docs/un_sdg/data.rst:261 msgid "Depending on the osm2pgrouting version `-W password` is needed" msgstr "" -#: ../../build/docs/un_sdg/data.rst:142 -#: ../../build/docs/un_sdg/data.rst:163 -#: ../../build/docs/un_sdg/data.rst:269 +#: ../../build/docs/un_sdg/data.rst:137 +#: ../../build/docs/un_sdg/data.rst:158 +#: ../../build/docs/un_sdg/data.rst:264 msgid "Output:" msgstr "" -#: ../../build/docs/un_sdg/data.rst:148 +#: ../../build/docs/un_sdg/data.rst:143 msgid "Importing Mumbai Buildings" msgstr "" -#: ../../build/docs/un_sdg/data.rst:150 +#: ../../build/docs/un_sdg/data.rst:145 msgid "Similar to Roads, ``osm2pgrouting`` command will be used to import the Buildings from OpenStreetMaps file to pgRouting database which we will use for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:168 -#: ../../build/docs/un_sdg/data.rst:274 +#: ../../build/docs/un_sdg/data.rst:163 +#: ../../build/docs/un_sdg/data.rst:269 msgid "To connect to the database, type the following in the terminal." msgstr "" -#: ../../build/docs/un_sdg/data.rst:176 +#: ../../build/docs/un_sdg/data.rst:171 msgid "Bangladesh database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:178 +#: ../../build/docs/un_sdg/data.rst:173 msgid "Now download the data for an area in Bangladesh by following the same steps like that of Mumbai." msgstr "" -#: ../../build/docs/un_sdg/data.rst:182 +#: ../../build/docs/un_sdg/data.rst:177 msgid "Create Bangladesh area database compatible with pgRouting" msgstr "" -#: ../../build/docs/un_sdg/data.rst:184 +#: ../../build/docs/un_sdg/data.rst:179 msgid "Use the following command to create ``bangladesh`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:207 +#: ../../build/docs/un_sdg/data.rst:202 msgid "Get the Bangladesh Data" msgstr "" -#: ../../build/docs/un_sdg/data.rst:210 +#: ../../build/docs/un_sdg/data.rst:205 msgid "Downloading Bangladesh data from OSGeo" msgstr "" -#: ../../build/docs/un_sdg/data.rst:212 +#: ../../build/docs/un_sdg/data.rst:207 msgid "The following command is used to download the snapshot of the Bangladesh area data used in this workshop, using the download service of OSGeo." msgstr "" -#: ../../build/docs/un_sdg/data.rst:215 +#: ../../build/docs/un_sdg/data.rst:210 msgid "The Bangladesh data for this workshop depends on this `snapshot `__." msgstr "" -#: ../../build/docs/un_sdg/data.rst:225 +#: ../../build/docs/un_sdg/data.rst:220 msgid "Downloading Bangladesh data from OpenStreetMap" msgstr "" -#: ../../build/docs/un_sdg/data.rst:226 +#: ../../build/docs/un_sdg/data.rst:221 msgid "The following command is used to download the OSM data of the area in Munshigang, Bangladesh." msgstr "" -#: ../../build/docs/un_sdg/data.rst:236 +#: ../../build/docs/un_sdg/data.rst:231 msgid "Upload Bangladesh data to the database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:244 +#: ../../build/docs/un_sdg/data.rst:239 msgid "``waterways.xml`` configuration file" msgstr "" -#: ../../build/docs/un_sdg/data.rst:245 +#: ../../build/docs/un_sdg/data.rst:240 msgid "``~/Desktop/workshop/bangladesh.osm`` - OSM data from the previous step" msgstr "" -#: ../../build/docs/un_sdg/data.rst:246 +#: ../../build/docs/un_sdg/data.rst:241 msgid "``bangladesh`` database" msgstr "" -#: ../../build/docs/un_sdg/data.rst:251 +#: ../../build/docs/un_sdg/data.rst:246 msgid "Open a terminal window by ``ctrl-alt-t`` and move to the workshop directory by ``cd ~/Desktop/workshop``." msgstr "" -#: ../../build/docs/un_sdg/data.rst:255 +#: ../../build/docs/un_sdg/data.rst:250 msgid "Importing Bangladesh Waterways" msgstr "" -#: ../../build/docs/un_sdg/data.rst:257 +#: ../../build/docs/un_sdg/data.rst:252 msgid "The following ``osm2pgrouting`` command will be used to import the Waterways from OpenStreetMaps file to pgRouting database which we will use for further exercises." msgstr "" -#: ../../build/docs/un_sdg/data.rst:283 +#: ../../build/docs/un_sdg/data.rst:278 msgid "Appendix" msgstr "" -#: ../../build/docs/un_sdg/data.rst:286 +#: ../../build/docs/un_sdg/data.rst:281 msgid "Configuration information for Buildings" msgstr "" -#: ../../build/docs/un_sdg/data.rst:294 +#: ../../build/docs/un_sdg/data.rst:289 msgid "Configuration information for Waterways" msgstr "" diff --git a/locale/sv/LC_MESSAGES/basic/graph_views.po b/locale/sv/LC_MESSAGES/basic/graph_views.po deleted file mode 100644 index e0f683c80..000000000 --- a/locale/sv/LC_MESSAGES/basic/graph_views.po +++ /dev/null @@ -1,649 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2010-2024 pgRouting Developers -# This file is distributed under the same license as the Workshop FOSS4G Belém package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: Workshop FOSS4G Belém 3.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-10 17:09+0000\n" -"PO-Revision-Date: 2025-07-07 23:37+0000\n" -"Last-Translator: Daniel Nylander \n" -"Language-Team: Swedish \n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.4.3\n" - -#: ../../build/docs/basic/graph_views.rst:12 -msgid "Graph views" -msgstr "Diagramvyer" - -#: ../../build/docs/basic/graph_views.rst:18 -msgid "Chapter Contents" -msgstr "Kapitelinnehåll" - -#: ../../build/docs/basic/graph_views.rst:20 -msgid "Different application require different graphs. This chapter covers how to discard disconnected segments and different approaches to create graphs." -msgstr "" -"Olika applikationer kräver olika grafer. I det här kapitlet beskrivs hur man " -"tar bort segment som inte är sammankopplade och olika sätt att skapa grafer." - -#: ../../build/docs/basic/graph_views.rst:24 -msgid "The graph requirements" -msgstr "Kraven för grafen" - -#: ../../build/docs/basic/graph_views.rst:26 -msgid "In this chapter there are three graph requirements. It consists on three graphs based on a **fully connected** graph derived from ``ways``: two for different types of vehicles and one for pedestrian, the source and the target in all of them are based on the ``source_osm`` and ``target_osm``." -msgstr "" -"I det här kapitlet finns det tre grafkrav. Det består av tre grafer baserade " -"på en **fullständigt sammanhängande** graf som härrör från ``vägar``: två " -"för olika typer av fordon och en för fotgängare, källan och målet i dem alla " -"är baserade på ``source_osm`` och ``target_osm``." - -#: ../../build/docs/basic/graph_views.rst:31 -msgid "The description of the graphs:" -msgstr "Beskrivning av graferna:" - -#: ../../build/docs/basic/graph_views.rst:33 -msgid "Particular vehicle:" -msgstr "Särskilt fordon:" - -#: ../../build/docs/basic/graph_views.rst:35 -msgid "Circulate on the whole Belém area." -msgstr "Cirkulera i hela Belém-området." - -#: ../../build/docs/basic/graph_views.rst:37 -#: ../../build/docs/basic/graph_views.rst:46 -msgid "Do not use `steps`, `footway`, `path`, `cycleway`." -msgstr "Använd inte `steps`, `footway`, `path`, `cycleway`." - -#: ../../build/docs/basic/graph_views.rst:39 -msgid "Speed is the default speed from OSM information." -msgstr "Speed är standardhastigheten från OSM-informationen." - -#: ../../build/docs/basic/graph_views.rst:41 -msgid "Taxi vehicle:" -msgstr "Taxifordon:" - -#: ../../build/docs/basic/graph_views.rst:43 -msgid "Circulate on a smaller area:" -msgstr "Cirkulera på en mindre yta:" - -#: ../../build/docs/basic/graph_views.rst:45 -msgid "Bounding box: ``(-48.52,-1.46,-48.45,-1.41)``" -msgstr "Avgränsningsruta: ``(-48.52,-1.46,-48.45,-1.41)``" - -#: ../../build/docs/basic/graph_views.rst:48 -msgid "Speed is 10% slower than that of the particular vehicles." -msgstr "Hastigheten är 10% långsammare än för de aktuella fordonen." - -#: ../../build/docs/basic/graph_views.rst:50 -msgid "Pedestrians:" -msgstr "Fotgängare:" - -#: ../../build/docs/basic/graph_views.rst:52 -msgid "Walk on the whole Belém area." -msgstr "Promenad i hela Belém-området." - -#: ../../build/docs/basic/graph_views.rst:53 -msgid "Can not walk on exclusive vehicle ways" -msgstr "Kan inte gå på exklusiva fordonsvägar" - -#: ../../build/docs/basic/graph_views.rst:55 -msgid "`motorways` and on `primary` segments." -msgstr "\"motorways\" och på \"primary\" segment." - -#: ../../build/docs/basic/graph_views.rst:57 -#: ../../build/docs/basic/graph_views.rst:488 -msgid "The speed is ``2 mts/sec``." -msgstr "Hastigheten är ``2 mts/sek``." - -#: ../../build/docs/basic/graph_views.rst:60 -msgid "pgr_extractVertices" -msgstr "pgr_extractVertices" - -#: ../../build/docs/basic/graph_views.rst:62 -msgid "``pgr_extractVertices`` compute the connected components of an undirected graph using a Depth First Search approach. A connected component of an undirected graph is a set of vertices that are all reachable from each other." -msgstr "" -"``pgr_extractVertices`` beräknar de anslutna komponenterna i en odelad graf " -"med hjälp av en djup första sökning. En ansluten komponent i en odelad graf " -"är en uppsättning hörn som alla är nåbara från varandra." - -#: ../../build/docs/basic/graph_views.rst:67 -#: ../../build/docs/basic/graph_views.rst:214 -msgid "Signature summary" -msgstr "Sammanfattning av signatur" - -#: ../../build/docs/basic/graph_views.rst:75 -msgid "Description of the function can be found in `pgr_extractVertices `__" -msgstr "" -"Beskrivning av funktionen finns i `pgr_extractVertices `__" - -#: ../../build/docs/basic/graph_views.rst:79 -msgid "Exercise 1: Create a vertices table" -msgstr "Övning 1: Skapa en vertices-tabell" - -#: ../../build/docs/basic/graph_views.rst:82 -#: ../../build/docs/basic/graph_views.rst:130 -#: ../../build/docs/basic/graph_views.rst:230 -#: ../../build/docs/basic/graph_views.rst:278 -#: ../../build/docs/basic/graph_views.rst:355 -#: ../../build/docs/basic/graph_views.rst:426 -#: ../../build/docs/basic/graph_views.rst:484 -#: ../../build/docs/basic/graph_views.rst:548 -msgid "Problem" -msgstr "Problem" - -#: ../../build/docs/basic/graph_views.rst:83 -msgid "Create the vertices table corresponding to the edges in ``ways``." -msgstr "Skapa en tabell med toppar som motsvarar kanterna i ``ways``." - -#: ../../build/docs/basic/graph_views.rst:86 -#: ../../build/docs/basic/graph_views.rst:134 -#: ../../build/docs/basic/graph_views.rst:234 -#: ../../build/docs/basic/graph_views.rst:287 -#: ../../build/docs/basic/graph_views.rst:369 -#: ../../build/docs/basic/graph_views.rst:435 -#: ../../build/docs/basic/graph_views.rst:499 -#: ../../build/docs/basic/graph_views.rst:567 -msgid "Solution" -msgstr "Lösning" - -#: ../../build/docs/basic/graph_views.rst:87 -msgid "A graph consists of a set of vertices and a set of edges." -msgstr "En graf består av en uppsättning hörn och en uppsättning kanter." - -#: ../../build/docs/basic/graph_views.rst:88 -msgid "In this case, the ``ways`` table is a set of edges." -msgstr "I detta fall är tabellen ``ways`` en uppsättning kanter." - -#: ../../build/docs/basic/graph_views.rst:89 -msgid "In order to make use of all the graph functions from pgRouting, it is required have the set of vertices defined." -msgstr "" -"För att kunna använda alla graffunktioner i pgRouting krävs det att " -"uppsättningen av hörnpunkter är definierad." - -#: ../../build/docs/basic/graph_views.rst:91 -msgid "From the requirements, the graph is going to be based on OSM identifiers." -msgstr "Enligt kraven kommer grafen att baseras på OSM-identifierare." - -#: ../../build/docs/basic/graph_views.rst:104 -msgid "Reviewing the description of the vertices table" -msgstr "Granskning av beskrivningen av vertices-tabellen" - -#: ../../build/docs/basic/graph_views.rst:114 -msgid "Inspecting the information on the vertices table" -msgstr "Inspektera informationen i tabellen vertices" - -#: ../../build/docs/basic/graph_views.rst:127 -msgid "Exercise 2: Fill up other columns in the vertices table" -msgstr "Övning 2: Fyll i andra kolumner i vertikaltabellen" - -#: ../../build/docs/basic/graph_views.rst:131 -msgid "Fill up geometry information on the vertices table." -msgstr "Fyll i geometriinformation i tabellen Vertices." - -#: ../../build/docs/basic/graph_views.rst:135 -msgid "Count the number of rows that need to be filled up." -msgstr "Räkna antalet rader som måste fyllas på." - -#: ../../build/docs/basic/graph_views.rst:145 -msgid "Update the ``geom`` columns based on the ``source_osm`` column from ``ways`` table." -msgstr "" -"Uppdatera kolumnerna ``geom`` baserat på kolumnen ``source_osm`` från " -"tabellen ``ways``." - -#: ../../build/docs/basic/graph_views.rst:147 -msgid "Use the start point of the geometry." -msgstr "Använd geometrins startpunkt." - -#: ../../build/docs/basic/graph_views.rst:158 -msgid "Not expecting to be done due to the fact that some vertices are only dead ends." -msgstr "" -"Förväntas inte bli gjort på grund av att vissa hörn bara är återvändsgränder." - -#: ../../build/docs/basic/graph_views.rst:169 -msgid "Update the ``geom`` columns based on the ``target_osm`` column from ``ways`` table." -msgstr "" -"Uppdatera kolumnerna ``geom`` baserat på kolumnen ``target_osm`` från " -"tabellen ``ways``." - -#: ../../build/docs/basic/graph_views.rst:171 -msgid "Use the end point of the geometry." -msgstr "Använd geometrins slutpunkt." - -#: ../../build/docs/basic/graph_views.rst:182 -msgid "Expecting to be done, that is the geometry column should not have a ``NULL`` value." -msgstr "" -"Förväntar sig att det ska göras, det vill säga att geometrikolumnen inte ska " -"ha ett ``NULL``-värde." - -#: ../../build/docs/basic/graph_views.rst:194 -msgid "Update the ``x`` and ``y`` columns based on the ``geom`` column." -msgstr "Uppdatera kolumnerna ``x`` och ``y`` baserat på kolumnen ``geom``." - -#: ../../build/docs/basic/graph_views.rst:207 -msgid "pgr_connectedComponents" -msgstr "pgr_connectedComponents" - -#: ../../build/docs/basic/graph_views.rst:209 -msgid "``pgr_connectedComponents`` compute the connected components of an undirected graph using a Depth First Search approach. A connected component of an undirected graph is a set of vertices that are all reachable from each other." -msgstr "" -"``pgr_connectedComponents`` beräknar de anslutna komponenterna i en odelad " -"graf med hjälp av Depth First Search. En ansluten komponent i en odelad graf " -"är en uppsättning hörn som alla är nåbara från varandra." - -#: ../../build/docs/basic/graph_views.rst:222 -msgid "Description of the function can be found in `pgr_connectedComponents `__" -msgstr "" -"Beskrivning av funktionen finns i `pgr_connectedComponents `__" - -#: ../../build/docs/basic/graph_views.rst:227 -msgid "Exercise 3: Set components on edges and vertices tables" -msgstr "Övning 3: Setkomponenter på kanter och hörntabeller" - -#: ../../build/docs/basic/graph_views.rst:231 -msgid "Get the information about the graph components." -msgstr "Hämta information om grafens komponenter." - -#: ../../build/docs/basic/graph_views.rst:235 -msgid "Create additional columns on the edges and vertices tables." -msgstr "Skapa ytterligare kolumner i tabellerna för kanter och hörn." - -#: ../../build/docs/basic/graph_views.rst:246 -msgid "Use the ``pgr_connectedComponents`` to fill up the vertices table." -msgstr "" -"Använd ``pgr_connectedComponents`` för att fylla i tabellen med hörnpunkter." - -#: ../../build/docs/basic/graph_views.rst:248 -msgid "Use the results to store the component numbers on the vertices table. (**line 1**)" -msgstr "" -"Använd resultatet för att lagra komponentnumren i vertikaltabellen. (**rad " -"1**)" - -#: ../../build/docs/basic/graph_views.rst:250 -msgid "Use the OSM identifiers of the vertices. (**lines 4-5**)" -msgstr "Använd OSM-identifierarna för topparna. (**rader 4-5**)" - -#: ../../build/docs/basic/graph_views.rst:262 -msgid "Update the edges table with based on the component number of the vertex" -msgstr "Uppdatera tabellen med kanter baserat på toppunktens komponentnummer" - -#: ../../build/docs/basic/graph_views.rst:275 -msgid "Exercise 4: Inspect the components" -msgstr "Övning 4: Inspektera komponenterna" - -#: ../../build/docs/basic/graph_views.rst:279 -msgid "Answer the following questions:" -msgstr "Svara på följande frågor:" - -#: ../../build/docs/basic/graph_views.rst:281 -#: ../../build/docs/basic/graph_views.rst:288 -msgid "How many components are in the vertices table?" -msgstr "Hur många komponenter finns det i vertices-tabellen?" - -#: ../../build/docs/basic/graph_views.rst:282 -#: ../../build/docs/basic/graph_views.rst:301 -msgid "How many components are in the edges table?" -msgstr "Hur många komponenter finns det i kantbordet?" - -#: ../../build/docs/basic/graph_views.rst:283 -#: ../../build/docs/basic/graph_views.rst:314 -msgid "List the 10 components with more edges." -msgstr "Lista de 10 komponenter som har flest kanter." - -#: ../../build/docs/basic/graph_views.rst:284 -#: ../../build/docs/basic/graph_views.rst:328 -msgid "Get the component with the maximum number of edges." -msgstr "Hämta komponenten med det maximala antalet kanter." - -#: ../../build/docs/basic/graph_views.rst:290 -#: ../../build/docs/basic/graph_views.rst:303 -msgid "Count the distinct components." -msgstr "Räkna de olika komponenterna." - -#: ../../build/docs/basic/graph_views.rst:316 -msgid "Count number of rows grouped by component. (**line 1**)" -msgstr "Räkna antal rader grupperade efter komponent. (**rad 1**)" - -#: ../../build/docs/basic/graph_views.rst:317 -msgid "Inverse order to display the top 10. (**line 2**)" -msgstr "Omvänd ordning för att visa topp 10. (**rad 2**)" - -#: ../../build/docs/basic/graph_views.rst:330 -msgid "Use the query from last question to get the maximum count" -msgstr "Använd frågan från förra frågan för att få det maximala antalet" - -#: ../../build/docs/basic/graph_views.rst:331 -msgid "Get the component that matches the maximum value." -msgstr "Hämta den komponent som matchar det högsta värdet." - -#: ../../build/docs/basic/graph_views.rst:345 -msgid "Preparing the graphs" -msgstr "Förberedelse av graferna" - -#: ../../build/docs/basic/graph_views.rst:348 -msgid "Exercise 5: Creating a view for routing" -msgstr "Övning 5: Skapa en vy för routing" - -#: ../../build/docs/basic/graph_views.rst:350 -msgid "View of roads for vehicles" -msgstr "Utsikt över vägar för fordon" - -#: ../../build/docs/basic/graph_views.rst:356 -msgid "Create a view with minimal amount of information for processing the particular vehicles." -msgstr "" -"Skapa en vy med minimal mängd information för att bearbeta de specifika " -"fordonen." - -#: ../../build/docs/basic/graph_views.rst:357 -msgid "Use the OSM identifiers on the vertices." -msgstr "Använd OSM-identifierarna på topparna." - -#: ../../build/docs/basic/graph_views.rst:358 -msgid "Routing `cost` and `reverse_cost` in terms of seconds for routing calculations." -msgstr "" -"Routing `cost` och `reverse_cost` i sekunder för beräkningar av routing." - -#: ../../build/docs/basic/graph_views.rst:359 -msgid "Exclude `steps`, `footway`, `path`, `cycleway` segments." -msgstr "Utesluta segmenten `steps`, `footway`, `path`, `cycleway`." - -#: ../../build/docs/basic/graph_views.rst:360 -#: ../../build/docs/basic/graph_views.rst:491 -msgid "Data needed in the view for further processing." -msgstr "Data som behövs i vyn för vidare bearbetning." - -#: ../../build/docs/basic/graph_views.rst:362 -msgid "`name` The name of the segment." -msgstr "`name` Namnet på segmentet." - -#: ../../build/docs/basic/graph_views.rst:363 -msgid "`length_m` The length in meters rename to ``length``." -msgstr "`length_m` Längden i meter byter namn till ``length``." - -#: ../../build/docs/basic/graph_views.rst:364 -msgid "`the_geom` The geometry rename to ``geom``." -msgstr "`the_geom` Geometrin byter namn till ``geom``." - -#: ../../build/docs/basic/graph_views.rst:366 -#: ../../build/docs/basic/graph_views.rst:496 -msgid "Verify the number of edges was reduced." -msgstr "Kontrollera att antalet kanter har minskats." - -#: ../../build/docs/basic/graph_views.rst:370 -#: ../../build/docs/basic/graph_views.rst:436 -#: ../../build/docs/basic/graph_views.rst:500 -msgid "Creating the view:" -msgstr "Skapa en vy:" - -#: ../../build/docs/basic/graph_views.rst:372 -msgid "If you need to reconstruct the view, first drop it using the command on **line 1**." -msgstr "" -"Om du behöver rekonstruera vyn, släpp den först med hjälp av kommandot på **" -"rad 1**." - -#: ../../build/docs/basic/graph_views.rst:374 -msgid "Get the component with maximum number of edges (**lines 6-10**)" -msgstr "Hämta komponenten med maximalt antal kanter (**raderna 6-10**)" - -#: ../../build/docs/basic/graph_views.rst:375 -msgid "The `source` and `target` requirements for the function are to be with OSM identifiers. (line **14**)" -msgstr "" -"Kraven på `source` och `target` för funktionen ska vara med OSM-" -"identifierare. (rad **14**)" - -#: ../../build/docs/basic/graph_views.rst:377 -msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds. (line **15**)" -msgstr "Kostnaden och den omvända kostnaden anges i sekunder. (rad **15**)" - -#: ../../build/docs/basic/graph_views.rst:378 -msgid "The additional parameters ``length_m`` and ``the_geom`` are renamed, ``name`` is also included. (line **16**)" -msgstr "" -"De ytterligare parametrarna ``length_m`` och ``the_geom`` har bytt namn, " -"``name`` ingår också. (rad **16**)" - -#: ../../build/docs/basic/graph_views.rst:380 -msgid "``JOIN`` with the `configuration`:" -msgstr "``JOIN`` med `konfigurationen`:" - -#: ../../build/docs/basic/graph_views.rst:382 -msgid "Exclude `steps`, `footway`, `path`, `cycleway`. (line **18**)" -msgstr "Exkludera `steps`, `footway`, `path`, `cycleway`. (rad **18**)" - -#: ../../build/docs/basic/graph_views.rst:395 -msgid "Verification:" -msgstr "Verifiering:" - -#: ../../build/docs/basic/graph_views.rst:397 -msgid "Count the rows on the original ``ways`` and on ``vehicle_net``." -msgstr "Räkna raderna på de ursprungliga ``ways`` och på ``vehicle_net``." - -#: ../../build/docs/basic/graph_views.rst:407 -msgid "Get the description of the view" -msgstr "Hämta beskrivningen av vyn" - -#: ../../build/docs/basic/graph_views.rst:419 -msgid "Exercise 6: Limiting the road network within an area" -msgstr "Övning 6: Begränsa vägnätet inom ett område" - -#: ../../build/docs/basic/graph_views.rst:421 -msgid "View of smaller set of roads for vehicles" -msgstr "Vy över mindre uppsättning vägar för fordon" - -#: ../../build/docs/basic/graph_views.rst:427 -msgid "Create a view ``taxi_net`` for the `taxi`:" -msgstr "Skapa en vy ``taxi_net`` för `taxi`:" - -#: ../../build/docs/basic/graph_views.rst:429 -msgid "The taxi can only circulate inside this Bounding Box: ``(-48.52,-1.46,-48.45,-1.41)``" -msgstr "" -"Taxin kan bara cirkulera inom denna avgränsningsruta: ``(-48.52,-1.46,-48." -"45,-1.41)``" - -#: ../../build/docs/basic/graph_views.rst:430 -msgid "The taxi speed is 10% slower than the particular vehicle." -msgstr "Taxihastigheten är 10% slägre än för det aktuella fordonet." - -#: ../../build/docs/basic/graph_views.rst:432 -msgid "Verify the reduced number of road segments." -msgstr "Verifiera det minskade antalet vägsegment." - -#: ../../build/docs/basic/graph_views.rst:438 -msgid "Adjust the taxi's ``cost`` and ``reverse_cost`` to be 10% slower than of the particular vehicle. (line **7**)" -msgstr "" -"Justera taxins ``cost`` och ``reverse_cost`` så att de är 10% långsammare än " -"för det aktuella fordonet. (rad **7**)" - -#: ../../build/docs/basic/graph_views.rst:440 -msgid "The graph for the taxi is a subset of the ``vehicle_net`` graph. (line **9**)" -msgstr "" -"Grafen för taxin är en delmängd av grafen för ``vehicle_net``. (rad **9**)" - -#: ../../build/docs/basic/graph_views.rst:441 -msgid "Can only circulate inside the bounding box: ``(-48.52,-1.46,-48.45,-1.41)``. (line **10**)" -msgstr "" -"Kan bara cirkulera inom den avgränsande rutan: ``(-48.52,-1.46,-48.45,-1." -"41)``. (rad **10**)" - -#: ../../build/docs/basic/graph_views.rst:455 -msgid "Count the rows on ``taxi_net``." -msgstr "Räkna raderna på ``taxi_net``." - -#: ../../build/docs/basic/graph_views.rst:466 -#: ../../build/docs/basic/graph_views.rst:529 -msgid "Get the description." -msgstr "Hämta beskrivningen." - -#: ../../build/docs/basic/graph_views.rst:477 -msgid "Exercise 7: Creating a materialized view for routing pedestrians" -msgstr "Övning 7: Skapa en materialiserad vy för att dirigera fotgängare" - -#: ../../build/docs/basic/graph_views.rst:479 -msgid "View of roads for pedestrians" -msgstr "Vy över vägar för fotgängare" - -#: ../../build/docs/basic/graph_views.rst:485 -msgid "Create a materialized view with minimal amount of information for processing pedestrians." -msgstr "" -"Skapa en materialiserad vy med minimal mängd information för bearbetning av " -"fotgängare." - -#: ../../build/docs/basic/graph_views.rst:486 -msgid "Routing `cost` and `reverse_cost` will be on seconds for routing calculations." -msgstr "" -"Routing `cost` och `reverse_cost` kommer att vara på sekunder för " -"routingsberäkningar." - -#: ../../build/docs/basic/graph_views.rst:490 -msgid "Exclude `motorway` , `primary` and `secondary` segments." -msgstr "Exkludera segmenten `motorway`, `primary` och `secondary`." - -#: ../../build/docs/basic/graph_views.rst:493 -msgid "`length_m` The length in meters." -msgstr "`length_m` Längden i meter." - -#: ../../build/docs/basic/graph_views.rst:494 -msgid "`the_geom` The geometry." -msgstr "`the_geom` Geometrin." - -#: ../../build/docs/basic/graph_views.rst:502 -msgid "Similar to `Exercise 5: Creating a view for routing`_:" -msgstr "Liknar \"Övning 5: Skapa en vy för routing\":" - -#: ../../build/docs/basic/graph_views.rst:504 -msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 mts/sec``. (line **7**)" -msgstr "" -"Kostnaden och den omvända kostnaden anges i sekunder med en hastighet av 2 " -"mts/sek. (rad **7**)" - -#: ../../build/docs/basic/graph_views.rst:505 -msgid "Exclude `motorway`, `primary` and `secondary` . (line **11**)" -msgstr "Uteslut \"motorway\", \"primary\" och \"secondary\" (rad **11**)" - -#: ../../build/docs/basic/graph_views.rst:518 -msgid "Count the rows on the view ``walk_net``." -msgstr "Räkna raderna på vyn ``walk_net``." - -#: ../../build/docs/basic/graph_views.rst:541 -msgid "Exercise 8: Testing the views for routing" -msgstr "Övning 8: Testa vyerna för routing" - -#: ../../build/docs/basic/graph_views.rst:543 -msgid "From the |ch7_place_1| to the |ch7_place_2|" -msgstr "Från |ch7_place_1| till |ch7_place_2|" - -#: ../../build/docs/basic/graph_views.rst:549 -msgid "Test the created views" -msgstr "Testa de skapade vyerna" - -#: ../../build/docs/basic/graph_views.rst:551 -msgid "In particular:" -msgstr "I synnerhet:" - -#: ../../build/docs/basic/graph_views.rst:553 -msgid "From the |ch7_place_1| to the \"|ch7_place_2| using the OSM identifier" -msgstr "" -"Från \"|ch7_place_1|\" till \"|ch7_place_2|\" med hjälp av OSM-identifieraren" - -#: ../../build/docs/basic/graph_views.rst:554 -msgid "the views to be tested are:" -msgstr "de åsikter som ska testas är:" - -#: ../../build/docs/basic/graph_views.rst:556 -msgid "``vehicle_net``" -msgstr "``vehicle_net``" - -#: ../../build/docs/basic/graph_views.rst:557 -msgid "``taxi_net``" -msgstr "``taxi_net``" - -#: ../../build/docs/basic/graph_views.rst:558 -msgid "``walk_net``" -msgstr "``walk_net``" - -#: ../../build/docs/basic/graph_views.rst:560 -msgid "Only show the following results, as the other columns are to be ignored on the function." -msgstr "" -"Visa endast följande resultat, eftersom de andra kolumnerna ska ignoreras i " -"funktionen." - -#: ../../build/docs/basic/graph_views.rst:562 -msgid "``seq``" -msgstr "``seq``" - -#: ../../build/docs/basic/graph_views.rst:563 -msgid "``edge`` with the name ``id``" -msgstr "``edge`` med namnet ``id``" - -#: ../../build/docs/basic/graph_views.rst:564 -msgid "``cost`` with the name: ``seconds``" -msgstr "``cost`` med namnet: ``seconds``" - -#: ../../build/docs/basic/graph_views.rst:568 -msgid "In general" -msgstr "I allmänhet" - -#: ../../build/docs/basic/graph_views.rst:570 -msgid "The departure is |ch7_place_1| with OSM identifier |ch7_osmid_1|." -msgstr "Avgången är |ch7_place_1| med OSM-identifierare |ch7_osmid_1|." - -#: ../../build/docs/basic/graph_views.rst:571 -msgid "The destination is |ch7_place_2| with OSM identifier |ch7_osmid_2|." -msgstr "Destinationen är |ch7_place_2| med OSM-identifieraren |ch7_osmid_2|." - -#: ../../build/docs/basic/graph_views.rst:573 -msgid "For ``vehicle_net``:" -msgstr "För ``vehicle_net``:" - -#: ../../build/docs/basic/graph_views.rst:575 -msgid "``vehicle_net`` is used." -msgstr "``vehicle_net`` används." - -#: ../../build/docs/basic/graph_views.rst:576 -msgid "Selection of the columns with the corresponding names are on line **1**." -msgstr "Val av kolumner med motsvarande namn finns på rad **1**." - -#: ../../build/docs/basic/graph_views.rst:577 -msgid "The view is prepared with the column names that pgRouting use." -msgstr "Vyn är förberedd med de kolumnnamn som pgRouting använder." - -#: ../../build/docs/basic/graph_views.rst:579 -msgid "There is no need to rename columns. (line **3**)" -msgstr "Det finns inget behov av att byta namn på kolumner. (rad **3**)" - -#: ../../build/docs/basic/graph_views.rst:581 -msgid "The OSM identifiers of the departure and destination are used. (line **4**)" -msgstr "OSM-identifierarna för avgång och destination används. (rad **4**)" - -#: ../../build/docs/basic/graph_views.rst:594 -msgid "For ``taxi_net``:" -msgstr "För ``taxi_net``:" - -#: ../../build/docs/basic/graph_views.rst:596 -msgid "Similar as the previous one but with ``taxi_net``. (line **3**)" -msgstr "Liknande som den föregående men med ``taxi_net``. (rad **3**)" - -#: ../../build/docs/basic/graph_views.rst:597 -msgid "The results give the same route as with ``vehicle_net`` but ``cost`` is higher." -msgstr "" -"Resultatet ger samma rutt som med ``vehicle_net`` men ``cost`` är högre." - -#: ../../build/docs/basic/graph_views.rst:610 -msgid "For ``walk_net``:" -msgstr "För ``walk_net``:" - -#: ../../build/docs/basic/graph_views.rst:612 -msgid "Similar as the previous one but with ``walk_net``. (line **3**)" -msgstr "Liknande som den föregående men med ``walk_net``. (rad **3**)" - -#: ../../build/docs/basic/graph_views.rst:613 -msgid "The results give a different route than of the vehicles." -msgstr "Resultaten ger en annan rutt än fordonens." diff --git a/locale/sv/LC_MESSAGES/basic/graphs.po b/locale/sv/LC_MESSAGES/basic/graphs.po index e1fc3484a..f1fca1fc6 100644 --- a/locale/sv/LC_MESSAGES/basic/graphs.po +++ b/locale/sv/LC_MESSAGES/basic/graphs.po @@ -516,7 +516,7 @@ msgstr "`the_geom` Geometrin." #: ../../build/docs/basic/graphs.rst:502 msgid "Similar to `Exercise 5: Creating a view for routing`_:" -msgstr "Liknar `Övning 5: Skapa en vy för routing`_:" +msgstr "Liknar `Exercise 5: Creating a view for routing`_:" #: ../../build/docs/basic/graphs.rst:504 msgid "The ``cost`` and ``reverse_cost`` are in terms of seconds with speed of ``2 mts/sec``. (line **7**)" diff --git a/locale/sv/LC_MESSAGES/basic/pedestrian.po b/locale/sv/LC_MESSAGES/basic/pedestrian.po index e67289c6c..aea20f5c9 100644 --- a/locale/sv/LC_MESSAGES/basic/pedestrian.po +++ b/locale/sv/LC_MESSAGES/basic/pedestrian.po @@ -147,7 +147,7 @@ msgstr "|osmid_5| |place_5| (|id_5|)" msgid "The corresponding :code:`id` are shown in the following image, and a sample route from \"|place_3|\" to \"|place_5|\"." msgstr "" "Motsvarande :code:`id` visas i följande bild, och ett exempel på en rutt " -"från \"|plats_3|\" till \"|plats_5|\"." +"från \"|place_3|\" till \"|place_5|\"." #: ../../build/docs/basic/pedestrian.rst:105 msgid "Exercise 1: Single pedestrian routing" @@ -361,7 +361,7 @@ msgstr "Övning 5: Kombination av rutter" #: ../../build/docs/basic/pedestrian.rst:251 msgid "First pedestrian goes from \"|place_1|\" to \"|place_4|\"" -msgstr "Den första fotgängaren går från \"|plats_1|\" till \"|plats_4|\"" +msgstr "Den första fotgängaren går från \"|place_1|\" till \"|place_4|\"" #: ../../build/docs/basic/pedestrian.rst:252 msgid "Second pedestrian goes from \"|place_2|\" to \"|place_5|\"" diff --git a/locale/sv/LC_MESSAGES/basic/plpgsql_function.po b/locale/sv/LC_MESSAGES/basic/plpgsql_function.po index 2807207b5..2d69e5e88 100644 --- a/locale/sv/LC_MESSAGES/basic/plpgsql_function.po +++ b/locale/sv/LC_MESSAGES/basic/plpgsql_function.po @@ -520,7 +520,7 @@ msgstr "Använd följande (lat,lon)-värden: ``(-1.455829, -48.446044)``." #: ../../build/docs/basic/plpgsql_function.rst:261 msgid "The point is the same as in `Exercise 3: Nearest Vertex`_ problem." -msgstr "Poängen är densamma som i `Övning 3: Närmaste vertex`_ problem." +msgstr "Poängen är densamma som i `Exercise 3: Nearest Vertex`_ problem." #: ../../build/docs/basic/plpgsql_function.rst:263 msgid "Verify the results are the same." @@ -575,7 +575,7 @@ msgstr "Använd specialiserade funktioner:" #: ../../build/docs/basic/plpgsql_function.rst:334 msgid "``wrk_NearestOSM`` created on `Exercise 4: Nearest vertex function`_." -msgstr "``wrk_NearestOSM`` skapad på `Övning 4: Närmaste vertexfunktion`_." +msgstr "``wrk_NearestOSM`` skapad på `Exercise 4: Nearest vertex function`_." #: ../../build/docs/basic/plpgsql_function.rst:336 msgid "It receives the point in natural language format." diff --git a/locale/sv/LC_MESSAGES/basic/sql_function.po b/locale/sv/LC_MESSAGES/basic/sql_function.po index ac60dd800..8bf34e321 100644 --- a/locale/sv/LC_MESSAGES/basic/sql_function.po +++ b/locale/sv/LC_MESSAGES/basic/sql_function.po @@ -428,8 +428,8 @@ msgstr "" #: ../../build/docs/basic/sql_function.rst:228 msgid "Inspecting the detail of the results of `Exercise 2: Route geometry (human readable)`_" msgstr "" -"Kontrollerar detaljerna i resultatet av `Övning 2: Ruttgeometri (läsbar för " -"alla)`_" +"Kontrollerar detaljerna i resultatet av `Exercise 2: Route geometry (human " +"readable)`_" #: ../../build/docs/basic/sql_function.rst:231 msgid "Rows **59** to **61** do not match that criteria" @@ -526,8 +526,8 @@ msgid "Name it ``additional``. (line **6**)" msgstr "Namnge den ``additional``. (rad **6**)" #: ../../build/docs/basic/sql_function.rst:321 -msgid "The ``ways`` table geometry name is ``the_geom``." -msgstr "Geometrin i tabellen ``ways`` har namnet ``the_geom``." +msgid "The ``ways`` table geometry name is ``geom``." +msgstr "Geometrin i tabellen ``ways`` har namnet ``geom``." #: ../../build/docs/basic/sql_function.rst:322 msgid "Final ``SELECT`` statements gets:" diff --git a/locale/sv/LC_MESSAGES/basic/vehicle.po b/locale/sv/LC_MESSAGES/basic/vehicle.po index 6a998c6a9..ac0274712 100644 --- a/locale/sv/LC_MESSAGES/basic/vehicle.po +++ b/locale/sv/LC_MESSAGES/basic/vehicle.po @@ -238,7 +238,7 @@ msgstr "Kostnaden i ``dollars`` är ``cost_s / 3600 * 100``." #: ../../build/docs/basic/vehicle.rst:174 msgid "Comparing with `Exercise 2: Vehicle routing - returning`_:" -msgstr "Jämförs med `Övning 2: Fordonsdirigering - retur`_:" +msgstr "Jämförs med `Exercise 2: Vehicle routing - returning`_:" #: ../../build/docs/basic/vehicle.rst:176 msgid "The total number of records are identical." @@ -325,7 +325,7 @@ msgstr "Från \"|place_3|\" till \"|place_1|\"" #: ../../build/docs/basic/vehicle.rst:249 #: ../../build/docs/basic/vehicle.rst:313 msgid "From |place_3| to |place_1|" -msgstr "Från |place_3 till |place_1" +msgstr "Från |place_3| till |place_1|" #: ../../build/docs/basic/vehicle.rst:256 msgid "Add a penalty column" @@ -435,7 +435,7 @@ msgstr "" #: ../../build/docs/basic/vehicle.rst:337 msgid "Comparing with `Exercise 3: Vehicle routing when time is money`_:" -msgstr "Jämförelse med `Övning 3: Fordonsdirigering när tid är pengar`_:" +msgstr "Jämförelse med `Exercise 3: Vehicle routing when time is money`_:" #: ../../build/docs/basic/vehicle.rst:339 msgid "The total number of records changed." @@ -480,7 +480,7 @@ msgstr "Anslut med hjälp av ``gid`` (rad **18**)" #: ../../build/docs/basic/vehicle.rst:373 msgid "Comparing with `Exercise 5: Vehicle routing with penalization`_:" -msgstr "Jämförs med `Övning 5: Fordonsdirigering med straff`_:" +msgstr "Jämförs med `Exercise 5: Vehicle routing with penalization`_:" #: ../../build/docs/basic/vehicle.rst:375 msgid "The total number of records is the same." diff --git a/locale/sv/LC_MESSAGES/basic/withPoints.po b/locale/sv/LC_MESSAGES/basic/withPoints.po index d1a6b664e..9e0c7291a 100644 --- a/locale/sv/LC_MESSAGES/basic/withPoints.po +++ b/locale/sv/LC_MESSAGES/basic/withPoints.po @@ -520,7 +520,7 @@ msgstr "Använd följande (lat,lon)-värden: ``(-1.455829, -48.446044)``." #: ../../build/docs/basic/withPoints.rst:261 msgid "The point is the same as in `Exercise 3: Nearest Vertex`_ problem." -msgstr "Poängen är densamma som i `Övning 3: Närmaste vertex`_ problem." +msgstr "Poängen är densamma som i `Exercise 3: Nearest Vertex`_ problem." #: ../../build/docs/basic/withPoints.rst:263 msgid "Verify the results are the same." @@ -575,7 +575,7 @@ msgstr "Använd specialiserade funktioner:" #: ../../build/docs/basic/withPoints.rst:334 msgid "``wrk_NearestOSM`` created on `Exercise 4: Nearest vertex function`_." -msgstr "``wrk_NearestOSM`` skapad på `Övning 4: Närmaste vertexfunktion`_." +msgstr "``wrk_NearestOSM`` skapad på `Exercise 4: Nearest vertex function`_." #: ../../build/docs/basic/withPoints.rst:336 msgid "It receives the point in natural language format."