Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dc27a0751f | |||
| 4f10b15513 | |||
| db82cecce4 | |||
| 9fd452f6af | |||
| 4026ed54c0 | |||
| 895e4bf6d5 | |||
| cb90d587be |
@@ -29,7 +29,7 @@ jobs:
|
||||
ENABLE_APPLE_SILICON: "OFF"
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: pip install conan==1.51.3
|
||||
- run: pip install conan==1.53.0
|
||||
- run: conan --version
|
||||
- run: cmake --version
|
||||
- uses: actions/setup-node@v3
|
||||
@@ -252,7 +252,7 @@ jobs:
|
||||
CXXFLAGS: "-m32 -msse2 -mfpmath=sse"
|
||||
TARGET_ARCH: i686
|
||||
ENABLE_CONAN: ON
|
||||
|
||||
|
||||
- name: gcc-8-release
|
||||
continue-on-error: false
|
||||
node: 12
|
||||
@@ -460,7 +460,7 @@ jobs:
|
||||
CUCUMBER_TIMEOUT: 60000
|
||||
ENABLE_ASSERTIONS: ON
|
||||
ENABLE_CONAN: ON
|
||||
|
||||
|
||||
- name: conan-macos-arm64-release-node-lts
|
||||
build_node_package: true
|
||||
continue-on-error: true
|
||||
@@ -553,7 +553,7 @@ jobs:
|
||||
key: v3-test-${{ matrix.name }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
v3-test-${{ matrix.name }}-
|
||||
|
||||
|
||||
- name: Prepare environment
|
||||
run: |
|
||||
PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)")
|
||||
@@ -574,7 +574,7 @@ jobs:
|
||||
|
||||
- name: Install dev dependencies
|
||||
run: |
|
||||
python3 -m pip install conan==1.51.3
|
||||
python3 -m pip install conan==1.53.0
|
||||
|
||||
# ccache
|
||||
if [[ "${RUNNER_OS}" == "Linux" ]]; then
|
||||
@@ -582,12 +582,12 @@ jobs:
|
||||
elif [[ "${RUNNER_OS}" == "macOS" ]]; then
|
||||
brew install ccache
|
||||
fi
|
||||
|
||||
|
||||
# clang
|
||||
if [[ "${CCOMPILER}" == "clang-6.0" ]]; then
|
||||
sudo apt-get update -y && sudo apt-get install clang++-6
|
||||
fi
|
||||
|
||||
|
||||
# Linux dev packages
|
||||
if [ "${TARGET_ARCH}" != "i686" ] && [ "${ENABLE_CONAN}" != "ON" ]; then
|
||||
sudo apt-get update -y
|
||||
@@ -697,7 +697,7 @@ jobs:
|
||||
run: |
|
||||
pushd ${OSRM_BUILD_DIR}
|
||||
make --jobs=${JOBS} benchmarks
|
||||
./src/benchmarks/alias-bench
|
||||
./src/benchmarks/alias-bench
|
||||
./src/benchmarks/json-render-bench ../src/benchmarks/portugal_to_korea.json
|
||||
./src/benchmarks/match-bench ../test/data/ch/monaco.osrm
|
||||
./src/benchmarks/packedvector-bench
|
||||
|
||||
+8
-1
@@ -1,4 +1,11 @@
|
||||
# 5.27.0-rc.1
|
||||
# Unreleased
|
||||
- Changes from 5.27.0
|
||||
- Routing:
|
||||
- CHANGED: Add support for surface=metal,grass_paver,woodchips in bicyle profile. [#6395](https://github.com/Project-OSRM/osrm-backend/pull/6395)
|
||||
- Tools:
|
||||
- FIXED: Always use original weights when handling `--parse-conditionals-from-now` option. [#6399](https://github.com/Project-OSRM/osrm-backend/pull/6399)
|
||||
|
||||
# 5.27.0
|
||||
- Changes from 5.26.0
|
||||
- API:
|
||||
- ADDED: Add Flatbuffers support to NodeJS bindings. [#6338](https://github.com/Project-OSRM/osrm-backend/pull/6338)
|
||||
|
||||
@@ -58,16 +58,16 @@ Download OpenStreetMap extracts for example from [Geofabrik](http://download.geo
|
||||
|
||||
Pre-process the extract with the car profile and start a routing engine HTTP server on port 5000
|
||||
|
||||
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
|
||||
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
|
||||
|
||||
The flag `-v "${PWD}:/data"` creates the directory `/data` inside the docker container and makes the current working directory `"${PWD}"` available there. The file `/data/berlin-latest.osm.pbf` inside the container is referring to `"${PWD}/berlin-latest.osm.pbf"` on the host.
|
||||
|
||||
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
|
||||
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
|
||||
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
|
||||
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
|
||||
|
||||
Note there is no `berlin-latest.osrm` file, but multiple `berlin-latest.osrm.*` files, i.e. `berlin-latest.osrm` is not file path, but "base" path referring to set of files and there is an option to omit this `.osrm` suffix completely(e.g. `osrm-partition /data/berlin-latest`).
|
||||
|
||||
docker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm
|
||||
docker run -t -i -p 5000:5000 -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm
|
||||
|
||||
Make requests against the HTTP server
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ Feature: Bike - Surfaces
|
||||
| cycleway | cobblestone:flattened | 72 s |
|
||||
| cycleway | paving_stones | 72 s |
|
||||
| cycleway | wood | 72 s |
|
||||
| cycleway | metal | 72 s |
|
||||
| cycleway | compacted | 72 s |
|
||||
| cycleway | fine_gravel | 72 s |
|
||||
| cycleway | ground | 72 s |
|
||||
@@ -22,11 +23,13 @@ Feature: Bike - Surfaces
|
||||
| cycleway | cobblestone | 102.9 s |
|
||||
| cycleway | gravel | 120 s |
|
||||
| cycleway | pebblestone | 120 s |
|
||||
| cycleway | grass_paver | 120 s |
|
||||
| cycleway | dirt | 90 s |
|
||||
| cycleway | earth | 120 s |
|
||||
| cycleway | grass | 120 s |
|
||||
| cycleway | mud | 240 s |
|
||||
| cycleway | sand | 240 s |
|
||||
| cycleway | woodchips | 240 s |
|
||||
| cycleway | sett | 80 s |
|
||||
|
||||
Scenario: Bicycle - Good surfaces on small paths
|
||||
|
||||
@@ -353,6 +353,28 @@ Feature: Car - Turn restrictions
|
||||
| b | a | bj,jc,jc,aj,aj |
|
||||
| b | d | bj,jd,jd |
|
||||
|
||||
# here we check that conditional restrictions can be updated via re-run of `contract`/`customize` with updated `--parse-conditionals-from-now`
|
||||
# 10am utc, sat
|
||||
When I run "osrm-contract {osm_file} --time-zone-file=test/data/tz/{timezone_names}/guinea.geojson --parse-conditionals-from-now=1494064800"
|
||||
When I run "osrm-customize {osm_file} --time-zone-file=test/data/tz/{timezone_names}/guinea.geojson --parse-conditionals-from-now=1494064800"
|
||||
|
||||
When I route I should get
|
||||
| from | to | route |
|
||||
| b | c | bj,jc,jc |
|
||||
| b | a | bj,aj,aj |
|
||||
| b | d | bj,jd,jd |
|
||||
|
||||
# 10am utc, wed
|
||||
When I run "osrm-contract {osm_file} --time-zone-file=test/data/tz/{timezone_names}/guinea.geojson --parse-conditionals-from-now=1493805600"
|
||||
When I run "osrm-customize {osm_file} --time-zone-file=test/data/tz/{timezone_names}/guinea.geojson --parse-conditionals-from-now=1493805600"
|
||||
|
||||
When I route I should get
|
||||
| from | to | route |
|
||||
| b | c | bj,jc,jc |
|
||||
| b | a | bj,jc,jc,aj,aj |
|
||||
| b | d | bj,jd,jd |
|
||||
|
||||
|
||||
@no_turning @conditionals
|
||||
Scenario: Car - Conditional restriction with multiple time windows
|
||||
Given the extract extra arguments "--parse-conditional-restrictions"
|
||||
|
||||
@@ -115,6 +115,36 @@ Feature: Car - Turn restrictions
|
||||
| c | a | cj,aj,aj |
|
||||
| c | b | cj,bj,bj |
|
||||
|
||||
@no_turning
|
||||
Scenario: Car - No u-turn
|
||||
# https://www.openstreetmap.org/edit?node=54878482#map=19/34.05242/-117.19067
|
||||
Given the node map
|
||||
"""
|
||||
c
|
||||
3
|
||||
a 1 x 2 b
|
||||
4
|
||||
d
|
||||
"""
|
||||
|
||||
And the ways
|
||||
| nodes |
|
||||
| ax |
|
||||
| xb |
|
||||
| cx |
|
||||
| xd |
|
||||
|
||||
And the relations
|
||||
| type | way:from | way:to | node:via | restriction |
|
||||
| restriction | ax | ax | x | no_u_turn |
|
||||
| restriction | bx | bx | x | no_u_turn |
|
||||
| restriction | cx | cx | x | no_u_turn |
|
||||
| restriction | dx | dx | x | no_u_turn |
|
||||
|
||||
When I route I should get
|
||||
| waypoints | route | turns |
|
||||
| a,x,a | ax,xb,xb,xb,ax,ax | depart,new name straight,continue uturn,arrive,depart,arrive |
|
||||
|
||||
@no_turning
|
||||
Scenario: Car - Handle any no_* relation
|
||||
Given the node map
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@project-osrm/osrm",
|
||||
"version": "5.27.0-rc.1",
|
||||
"version": "5.28.0-unreleased",
|
||||
"private": false,
|
||||
"description": "The Open Source Routing Machine is a high performance routing engine written in C++14 designed to run on OpenStreetMap data.",
|
||||
"dependencies": {
|
||||
|
||||
@@ -178,6 +178,7 @@ function setup()
|
||||
concrete = default_speed,
|
||||
concrete_lanes = default_speed,
|
||||
wood = 10,
|
||||
metal = 10,
|
||||
["cobblestone:flattened"] = 10,
|
||||
paving_stones = 10,
|
||||
compacted = 10,
|
||||
@@ -186,12 +187,14 @@ function setup()
|
||||
fine_gravel = 10,
|
||||
gravel = 6,
|
||||
pebblestone = 6,
|
||||
grass_paver = 6,
|
||||
ground = 10,
|
||||
dirt = 8,
|
||||
earth = 6,
|
||||
grass = 6,
|
||||
mud = 3,
|
||||
sand = 3,
|
||||
woodchips = 3,
|
||||
sett = 9
|
||||
},
|
||||
|
||||
|
||||
+11
-2
@@ -583,8 +583,17 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
||||
[&] { extractor::files::readNodeData(config.GetPath(".osrm.ebg_nodes"), node_data); },
|
||||
|
||||
[&] {
|
||||
extractor::files::readTurnWeightPenalty(
|
||||
config.GetPath(".osrm.turn_weight_penalties"), turn_weight_penalties);
|
||||
// we are going to overwrite this `.turn_weight_penalties` afterwards,
|
||||
// so here we backup the original turn penalties if we didn't do that yet in order
|
||||
// to guarantee that subsequent runs of this code will work on top of original
|
||||
// weights
|
||||
auto path = config.GetPath(".osrm.turn_weight_penalties").string() + ".original";
|
||||
if (!boost::filesystem::exists(path))
|
||||
{
|
||||
boost::filesystem::copy_file(config.GetPath(".osrm.turn_weight_penalties"),
|
||||
path);
|
||||
}
|
||||
extractor::files::readTurnWeightPenalty(path, turn_weight_penalties);
|
||||
},
|
||||
[&] {
|
||||
extractor::files::readTurnDurationPenalty(
|
||||
|
||||
Reference in New Issue
Block a user