2017-03-12 14:19:57 -04:00
|
|
|
|
@routing @testbot @mld
|
|
|
|
|
Feature: Multi level routing
|
|
|
|
|
|
|
|
|
|
Background:
|
|
|
|
|
Given the profile "testbot"
|
2017-03-28 10:56:22 -04:00
|
|
|
|
And the partition extra arguments "--small-component-size 1 --max-cell-sizes 4,16,64"
|
2017-03-12 14:19:57 -04:00
|
|
|
|
|
|
|
|
|
Scenario: Testbot - Multi level routing check partition
|
|
|
|
|
Given the node map
|
|
|
|
|
"""
|
|
|
|
|
a───b───e───f
|
|
|
|
|
│ │ │ │
|
|
|
|
|
d───c h───g
|
|
|
|
|
╲ ╱
|
|
|
|
|
╳
|
|
|
|
|
╱ ╲
|
|
|
|
|
i───j m───n
|
|
|
|
|
│ │ │ │
|
|
|
|
|
l───k───p───o
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
|
| nodes | highway |
|
|
|
|
|
| abcda | primary |
|
|
|
|
|
| efghe | primary |
|
|
|
|
|
| ijkli | primary |
|
|
|
|
|
| nmop | primary |
|
|
|
|
|
| cm | primary |
|
|
|
|
|
| hj | primary |
|
|
|
|
|
| kp | primary |
|
|
|
|
|
| be | primary |
|
|
|
|
|
|
|
|
|
|
And the data has been extracted
|
2017-03-28 10:56:22 -04:00
|
|
|
|
When I run "osrm-partition --max-cell-sizes 4,16 --small-component-size 1 {processed_file}"
|
2017-03-12 14:19:57 -04:00
|
|
|
|
Then it should exit successfully
|
|
|
|
|
And stdout should not contain "level 1 #cells 1 bit size 1"
|
|
|
|
|
|
|
|
|
|
Scenario: Testbot - Multi level routing
|
|
|
|
|
Given the node map
|
|
|
|
|
"""
|
2018-10-30 00:47:49 -04:00
|
|
|
|
a────b e─────f
|
|
|
|
|
\ │ │ /
|
2017-03-12 14:19:57 -04:00
|
|
|
|
d───c h───g
|
|
|
|
|
╲ ╱
|
|
|
|
|
╳
|
|
|
|
|
╱ ╲
|
|
|
|
|
i───j m───n
|
2018-10-30 00:47:49 -04:00
|
|
|
|
/ │ │ \
|
|
|
|
|
l─────k───p─────o
|
2017-03-12 14:19:57 -04:00
|
|
|
|
"""
|
2017-07-01 15:57:28 -04:00
|
|
|
|
|
|
|
|
|
And the nodes
|
|
|
|
|
| node | highway |
|
|
|
|
|
| i | traffic_signals |
|
|
|
|
|
| n | traffic_signals |
|
|
|
|
|
|
2017-03-12 14:19:57 -04:00
|
|
|
|
And the ways
|
|
|
|
|
| nodes | highway |
|
|
|
|
|
| abcda | primary |
|
|
|
|
|
| efghe | primary |
|
|
|
|
|
| ijkli | primary |
|
2017-07-01 15:57:28 -04:00
|
|
|
|
| mnopm | primary |
|
2017-03-12 14:19:57 -04:00
|
|
|
|
| cm | primary |
|
|
|
|
|
| hj | primary |
|
|
|
|
|
| kp | primary |
|
2017-10-12 03:54:02 -04:00
|
|
|
|
And the partition extra arguments "--small-component-size 1 --max-cell-sizes 4,16"
|
2017-03-12 14:19:57 -04:00
|
|
|
|
|
|
|
|
|
When I route I should get
|
2017-07-01 15:57:28 -04:00
|
|
|
|
| from | to | route | time |
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| a | b | abcda,abcda | 25s |
|
|
|
|
|
| a | f | abcda,cm,mnopm,kp,ijkli,hj,efghe,efghe | 239.2s |
|
|
|
|
|
| a | l | abcda,cm,mnopm,kp,ijkli,ijkli | 157.1s |
|
|
|
|
|
| a | o | abcda,cm,mnopm,mnopm,mnopm | 137.1s |
|
|
|
|
|
| f | l | efghe,hj,ijkli,ijkli | 136.7s |
|
|
|
|
|
| f | o | efghe,hj,ijkli,kp,mnopm,mnopm | 162.1s |
|
|
|
|
|
| l | o | ijkli,kp,mnopm,mnopm | 80s |
|
2017-07-01 15:57:28 -04:00
|
|
|
|
| c | m | cm,cm | 44.7s |
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| f | a | efghe,hj,ijkli,kp,mnopm,cm,abcda,abcda | 239.2s |
|
|
|
|
|
| l | a | ijkli,kp,mnopm,cm,abcda,abcda | 157.1s |
|
2017-03-12 14:19:57 -04:00
|
|
|
|
|
2017-06-29 04:29:13 -04:00
|
|
|
|
When I request a travel time matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 239.2 | 157.1 | 137.1 |
|
|
|
|
|
| f | 239.2 | 0 | 136.7 | 162.1 |
|
|
|
|
|
| l | 157.1 | 136.7 | 0 | 80 |
|
|
|
|
|
| o | 137.1 | 162.1 | 80 | 0 |
|
2017-06-29 04:29:13 -04:00
|
|
|
|
|
2017-10-12 03:54:02 -04:00
|
|
|
|
When I request a travel time matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 239.2 | 157.1 | 137.1 |
|
2017-10-12 03:54:02 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel time matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a |
|
|
|
|
|
| a | 0 |
|
|
|
|
|
| f | 239.2 |
|
|
|
|
|
| l | 157.1 |
|
|
|
|
|
| o | 137.1 |
|
2017-10-12 03:54:02 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel time matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 239.2 | 157.1 | 137.1 |
|
|
|
|
|
| o | 137.1 | 162.1 | 80 | 0 |
|
2017-10-12 03:54:02 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel time matrix I should get
|
|
|
|
|
| | a | o |
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| a | 0 | 137.1 |
|
|
|
|
|
| f | 239.2 | 162.1 |
|
|
|
|
|
| l | 157.1 | 80 |
|
|
|
|
|
| o | 137.1 | 0 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel distance matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 2383.7 | 1566.9 | 1366.8 |
|
2018-12-15 22:42:07 -05:00
|
|
|
|
| f | 2383.7 | 0 | 1293.3 | 1617.3 |
|
|
|
|
|
| l | 1566.9 | 1293.3 | 0 | 800.5 |
|
|
|
|
|
| o | 1366.8 | 1617.3 | 800.5 | 0 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel distance matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 2383.7 | 1566.9 | 1366.8 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel distance matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a |
|
|
|
|
|
| a | 0 |
|
2018-12-15 22:42:07 -05:00
|
|
|
|
| f | 2383.7 |
|
|
|
|
|
| l | 1566.9 |
|
|
|
|
|
| o | 1366.8 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel distance matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | f | l | o |
|
|
|
|
|
| a | 0 | 2383.7 | 1566.9 | 1366.8 |
|
2018-12-15 22:42:07 -05:00
|
|
|
|
| f | 2383.7 | 0 | 1293.3 | 1617.3 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
|
|
|
|
When I request a travel distance matrix I should get
|
2018-10-30 00:47:49 -04:00
|
|
|
|
| | a | o |
|
|
|
|
|
| a | 0 | 1366.8 |
|
2018-12-15 22:42:07 -05:00
|
|
|
|
| f | 2383.7 | 1617.3 |
|
|
|
|
|
| l | 1566.9 | 800.5 |
|
|
|
|
|
| o | 1366.8 | 0 |
|
2018-04-07 22:20:59 -04:00
|
|
|
|
|
2017-03-12 14:19:57 -04:00
|
|
|
|
Scenario: Testbot - Multi level routing: horizontal road
|
|
|
|
|
Given the node map
|
|
|
|
|
"""
|
|
|
|
|
a───b e───f
|
|
|
|
|
│ │ │ │
|
|
|
|
|
d───c h───g
|
|
|
|
|
│ │
|
|
|
|
|
i═══j═══k═══l
|
|
|
|
|
│ │
|
|
|
|
|
m───n q───r
|
|
|
|
|
│ │ │ │
|
|
|
|
|
p───o───t───s
|
|
|
|
|
"""
|
|
|
|
|
And the ways
|
|
|
|
|
| nodes | highway |
|
|
|
|
|
| abcda | primary |
|
|
|
|
|
| efghe | primary |
|
|
|
|
|
| mnopm | primary |
|
|
|
|
|
| qrstq | primary |
|
|
|
|
|
| ijkl | primary |
|
|
|
|
|
| dim | primary |
|
|
|
|
|
| glr | primary |
|
|
|
|
|
| ot | secondary |
|
|
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
|
| from | to | route | time |
|
|
|
|
|
| a | b | abcda,abcda | 20s |
|
|
|
|
|
| a | d | abcda,abcda | 20s |
|
|
|
|
|
| a | l | abcda,dim,ijkl,ijkl | 100s |
|
|
|
|
|
| a | p | abcda,dim,mnopm,mnopm | 80s |
|
|
|
|
|
| a | o | abcda,dim,mnopm,mnopm | 100s |
|
|
|
|
|
| a | t | abcda,dim,mnopm,ot,ot | 140s |
|
|
|
|
|
| a | s | abcda,dim,ijkl,glr,qrstq,qrstq | 140s |
|
|
|
|
|
| a | f | abcda,dim,ijkl,glr,efghe,efghe | 140s |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scenario: Testbot - Multi level routing: route over internal cell edge hf
|
|
|
|
|
Given the node map
|
|
|
|
|
"""
|
|
|
|
|
a───b
|
|
|
|
|
│ │
|
|
|
|
|
d───c──e───f
|
|
|
|
|
╲ │ ╳ │ ╲
|
|
|
|
|
h───g──i───j
|
|
|
|
|
│ │
|
|
|
|
|
l───k
|
|
|
|
|
"""
|
2017-03-28 10:56:22 -04:00
|
|
|
|
And the partition extra arguments "--small-component-size 1 --max-cell-sizes 4,16"
|
2017-03-12 14:19:57 -04:00
|
|
|
|
And the ways
|
|
|
|
|
| nodes | maxspeed |
|
|
|
|
|
| abcda | 5 |
|
|
|
|
|
| efghe | 5 |
|
|
|
|
|
| ijkli | 5 |
|
|
|
|
|
| eg | 10 |
|
|
|
|
|
| ce | 15 |
|
|
|
|
|
| ch | 15 |
|
|
|
|
|
| fi | 15 |
|
|
|
|
|
| gi | 15 |
|
|
|
|
|
| hf | 100 |
|
|
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
|
| from | to | route | time |
|
|
|
|
|
| a | k | abcda,ch,hf,fi,ijkli,ijkli | 724.3s |
|
2017-07-01 17:53:35 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scenario: Testbot - Edge case for matrix plugin with
|
|
|
|
|
Given the node map
|
|
|
|
|
"""
|
|
|
|
|
a───b
|
|
|
|
|
│ ╳ │
|
|
|
|
|
d───c
|
|
|
|
|
│ │
|
|
|
|
|
e f
|
|
|
|
|
│ ╱ │
|
|
|
|
|
h g───i
|
|
|
|
|
"""
|
|
|
|
|
And the partition extra arguments "--small-component-size 1 --max-cell-sizes 5,16,64"
|
|
|
|
|
|
|
|
|
|
And the nodes
|
|
|
|
|
| node | highway |
|
|
|
|
|
| e | traffic_signals |
|
|
|
|
|
| g | traffic_signals |
|
|
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
|
| nodes | highway | maxspeed |
|
|
|
|
|
| abcda | primary | |
|
|
|
|
|
| ac | primary | |
|
|
|
|
|
| db | primary | |
|
|
|
|
|
| deh | primary | |
|
|
|
|
|
| cfg | primary | |
|
|
|
|
|
| ef | primary | 1 |
|
|
|
|
|
| eg | primary | 1 |
|
|
|
|
|
| hf | primary | 1 |
|
|
|
|
|
| hg | primary | 1 |
|
|
|
|
|
| gi | primary | |
|
|
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
|
| from | to | route | time |
|
|
|
|
|
| h | i | deh,abcda,cfg,gi,gi | 134s |
|
|
|
|
|
|
|
|
|
|
When I request a travel time matrix I should get
|
|
|
|
|
| | h | i |
|
|
|
|
|
| h | 0 | 134 |
|
|
|
|
|
| i | 134 | 0 |
|