Commit Graph

1303 Commits

Author SHA1 Message Date
Daniel Patterson
2c7c18fd24 Fix bug in snapping=any when bearings or radiuses are supplied. 2019-02-15 20:42:30 -08:00
Daniel Patterson
4f0ec785f6
Configurable snapping behaviour (#5361) 2019-02-14 17:14:50 -08:00
Lev Dragunov
8b45ff7a18
Store metadata about original OSM data, and return it in the API response, if available. 2019-01-30 15:31:56 -08:00
Daniel Patterson
381d492a8f
Add waypoints parameter to viaroute API (#5345)
* Add silent waypoints to viaroute API.
2019-01-24 16:19:59 -08:00
Daniel Patterson
1dca8ae76a Correct invalid tests - these captured the incorrect behaviour, the matrices should've been symmetrical (a->o == o->a for these cases) 2018-12-15 21:07:06 -07:00
Daniel Patterson
002e86863d Add test to ensure forward/reverse snapping distances are correct, and fix some tests that were incorrect due to the bug. 2018-12-15 21:07:06 -07:00
Huyen Chau Nguyen
77b4fbb69c Fix maxspeed to consider source:maxspeed tags (#5217)
* In Belgium the maximum speed in rural areas is 70 in the region Flanders
* parse maxspeed using source:maxspeed and maxspeed:type tags
* add changelog
* make maxspeed:advisory more important than maxspeed
* add test for source:maxspeed
2018-12-14 21:42:44 -07:00
Salim KAYABASI
717406043a Remove unused Node binary publishing, and upgrade build environment.
Upgrades the build environment to Node 10, which let's us pull down some security fixes in package dependencies that were unfixed in Node 4.

Also removes Node 4 and 6 binary publishing which were almost never used (20 downloads out of 50,000).

Fixes https://github.com/Project-OSRM/osrm-backend/issues/5312
2018-12-14 21:34:48 -07:00
Daniel Patterson
1ef85c57cc Upgrade CI environment to Node 10, remove builds for < Node 8
Remove yarn, npm is fast now, and comes with node.
Synchronize package-lock.json and package.json
2018-12-14 14:56:21 -07:00
Daniel Patterson
520b7ebbb6
Remove 5.20 build trigger from master branch - should only exist on release branches. 2018-12-14 11:53:48 -07:00
Daniel Patterson
81bc2f41a6
When matching, ignore 'is_startpoint' propert, snap to any edge (#5297)
Includes all edges in the rtree, but adds an `is_startpoint` flag to each.  Most plugin behaviour remains unchanged (non-startpoint edges aren't used as snapping candidates), but for map matching, we allow snapping to any edge.  This fixes map-matching across previously non-is_startpoint edges, like ferries, private service roads, and a few others.
2018-12-13 17:10:32 -07:00
Daniel Patterson
06e010b4d0 Include information on estimates in table response (#5259)
* Revert "Remove estimated_cells value in the response."

This reverts commit 364e35af06.

* Update changelog.

* fix linting

* adjust fallback_speed check

* change [].includes to [].indexOf !== -1 for compatibility with node 4

* change param name

* more cuke tests

* fix formatting
2018-12-11 12:21:57 -05:00
Kajari Ghosh
01ca32c81c
Fix fallback speed validity checks (#5300)
* fix fallback_speeds check to only accept values > 0

* add invalid_fallback_speed
2018-12-10 14:53:30 -05:00
Kajari Ghosh
2e17f3010a
Add a multiplier to the matrix (#5298)
* add a multiplier to the matrix

* add rounding

* remove scale_factor restrictions

* clamp for overflow error

* update check to match error message

* enforce clamping on < 0 and increase test coverage

* add an invalid scale_factor value to node tests

* increase test coverage

* changelog
2018-12-10 13:41:44 -05:00
Kajari Ghosh
3d781e6f28
Fix fallback_speed vector access (#5291)
* add failing cuke test

* correctly access durations vector

* changelog

* one more cuke test
2018-12-05 00:41:06 -05:00
Daniel Paz-Soldan
4976233cff Add node 10 builds to travis (#5246)
* Add node 10 builds to travis

* Add changelog
2018-12-04 14:13:49 -05:00
Daniel Patterson
364e35af06
Remove estimated_cells value in the response. 2018-11-02 01:08:59 -07:00
Daniel Patterson
985ab58f45
Add feature to fill null table entries with as-the-crow-flies estimates. 2018-11-02 01:07:24 -07:00
Daniel Patterson
498259b220
Replace dynamic distance calculation for table plugin with pre-calculated distances on shortcuts, avoiding unpacking cost.
Adds approx 10% to total data size.  Speeds up large table requests by 2 orders of magnitude.

Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-30 15:41:06 -07:00
Daniel Patterson
b7e7d32361
Expose new --mmap switch (mmap_memory: true in NodeJS), and run test suite in this mode, as well as shared memory mode. 2018-10-26 23:54:00 -07:00
Kajari Ghosh
5597415f28
Revert "Improve speed of Map Matching" (#5196)
* Revert "Update changelog"

This reverts commit 9b779c704f.

* Revert "Fix formating"

This reverts commit 5bd7d04fe3.

* Revert "Fix bug in computation of distance offset for phantom node"

This reverts commit 0f78f7b2cc.

* Revert "Adjust text cases for flightly different matching due to rounding"

This reverts commit 8473be69d2.

* Revert "Round network distance to deci-meter to retain previous behavior"

This reverts commit c0124f7d77.

* Revert "Preserve heap state in map matching"

This reverts commit b630b4e32a.

* Revert "Use distance functions from many to many"

This reverts commit 89fabc1b9c.

* Revert "Use FCC algorithm for map matching distance calculation"

This reverts commit a649a8a5cf.
2018-09-06 12:05:28 -04:00
Patrick Niklaus
8473be69d2 Adjust text cases for flightly different matching due to rounding 2018-08-02 12:19:24 +02:00
Frédéric Rodrigo
f928956584 Support maxlength and maxweight in car profile 2018-07-11 18:33:30 +02:00
MichalPP
06699132eb allow routing over barrier=some_tag 2018-05-29 16:56:15 +02:00
MichalPP
8dd8ee1fc2 blacklisting barriers allow routing
blacklisting barriers allow routing over barrier=some_tag
2018-05-28 17:21:08 +02:00
Patrick Niklaus
3b4e2e83ef Fix excluding nodes for one to all query 2018-05-08 15:50:25 +00:00
Kajari Ghosh
2a15e6dec8 Add support for annotations=distances in MLD
This commit brings feature parity with CH for the `table` pluging.
2018-05-08 15:50:25 +00:00
Huyen Chau Nguyen
8b866502d1 make eslint happy 2018-04-27 05:21:08 +02:00
Huyen Chau Nguyen
4e68f3a7e1 change haversine computation to cheap ruler in distance tables 2018-04-27 05:21:08 +02:00
Patrick Niklaus
b331885d3c Add test fo excluding ferries on bikes 2018-04-26 21:46:20 +02:00
Patrick Niklaus
73716bd651 Add support for classes on bicycle profile 2018-04-26 21:46:20 +02:00
Michael Krasnyk
9edd161da3 Test for "No turn issued for right turn on un-named roads", #4414
The issue is fixed by d166fc6a75
2018-04-26 18:53:47 +02:00
Kajari Ghosh
89f6e2d55b
Parse table annotations param correctly (#5050)
* fix incorrect parameter parsing for node osrm and add tests

* fix boost spirit grammar parsing for annotations

* return NotImplemented when distance annotation is requested for MLD in table plugin

* update docs
2018-04-24 11:05:35 -04:00
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH (#4990) 2018-04-20 18:18:55 -04:00
Duane Gearhart
7740d5d7c0 Do not combine a segregated edge with a roundabout (#5040)
* Do not combine a segregated edge with a roundabout, add test
2018-04-20 11:41:53 +02:00
Huyen Chau Nguyen
7b8619e37c adjust tests to changes 2018-04-16 11:39:44 +02:00
Daniel Patterson
282415bbc1
Honour British spelling of manoeuvre relation (#5004)
* Support British spelling of manoeuvre to comply with OSM standards.
2018-04-06 17:08:30 -07:00
Patrick Niklaus
5450574d63 Better test coverage for datastore options 2018-04-07 00:22:29 +02:00
Patrick Niklaus
a915542916 Add option to only update the metric dependent data 2018-04-07 00:22:29 +02:00
Patrick Niklaus
c2532b1589 Add test case from @oxidase for datastore parameters 2018-04-05 15:12:47 +02:00
Patrick Niklaus
c4b90f52c0 Run cucumber in its own dataset namespace so it does not interfere 2018-04-05 15:12:47 +02:00
Daniel Patterson
f3b7ab92ff Fix typo. 2018-04-04 12:24:09 +02:00
Daniel Patterson
eae9e7fab6 Only listen on 127.0.0.1 (unless overriden by environment) during test runs by default. 2018-04-04 12:24:09 +02:00
Daniel Patterson
649d4ee512
Add support for the 'straight' maneuver direction (#4995)
Add support for the 'straight' maneuver direction
2018-04-03 17:20:18 -07:00
Daniel Patterson
b5a4ffed96
Return datasource names along with datasource annotation (#4973)
* Add new `datasource_names` annotation that returns the string version of the `datasources` annotation
2018-04-03 15:13:25 -07:00
Duane Gearhart
8a63ad9b4b
Added post process logic to collapse segregated turn instructions (#4925)
* Added post process logic to collapse segregated turn instructions

* format updates

* Fixed coordinates to reflect reality
Updated left turn road name

* fixed coordinates to fix test

* Skip last step when processing segregated steps

* updated segregated turn test

* Updated segregated test

* Updated test: Segregated Intersection, Cross Belonging to Correct Street - features/guidance/collapse.feature:79

* Fixed all but one for features/guidance/collapse.feature:124

* Fixed Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219

* Fixed 7 of th 9 failures for Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219

* Fixed 7 of the 9 failures for Scenario: Segregated Intersection, Cross Belonging to Mixed Streets - Slight Angles (2) - features/guidance/collapse.feature:318

* Fixed Scenario: Segregated Intersection into Slight Turn - features/guidance/collapse.feature:581

* Updated Scenario: U-turn after a traffic light - features/guidance/turn-lanes.feature:1220

* Updated how we combine segregated steps

* Added test to Verify end of road left turn across divided roads

* Fixed divided highwat tests

* Fixed test failure

* fixed Scenario: Partitioned turn, Slight Curve - maxspeed - features/guidance/turn-lanes.feature:936

* Fixed Scenario: Partitioned turn, Slight Curve - features/guidance/turn-lanes.feature:961

* Added strategies to combine segrgated intersections

* Added setModifier alias for readability

* Added strategies to combine segrgated intersections

* Format updates

* Fixes segregated indentification to not mark `circular` edge as segregated

* Added intersection prior to turn so we still call out end of road

* updated expectation to be turn instead of continue

* Confirmed with @oxidase that the lane information if correct - updated the expectation

* Added logic to handle wider straights
Fixed tests

* Update CHANGELOG.md

Added #4925

* Removed TODO

* Process straight step prior to wider straight step
2018-03-30 07:43:56 -04:00
Michael Krasnyk
b56a7579a8 Review updates 2018-03-20 16:33:15 +01:00
Michael Krasnyk
8b52c6c7ac Update tests expectations and obvious detection 2018-03-20 16:33:15 +01:00
Michael Krasnyk
d166fc6a75 Restructure Obvious Turn Handling, code transfer from #4426 2018-03-20 16:33:15 +01:00
Huyen Chau Nguyen
bdb116afe5
Fix wrong one-way identification in the bike profile
* upgrade to api version 4

* set bike pushing speed to 4km/h and add mode change penalty

* set cycleways for two-way and one-way roads according correctly

* add changelog

* adjust tests according to change of the walking speed

* adjust tests according to new behaviour of opposite, track and lane in one-ways

* refactor the cycleway identification

* comment to understand weird counterintuitive testcase

* adjust sliproad test because walking speed is now slower
2018-03-19 16:02:25 +01:00
Huyen Chau Nguyen
a84277f246 add tests in left-side-countries 2018-03-18 14:30:40 +01:00
Daniel Patterson
f7775f5e0b
Add source phantom weight to first segment when merging legs (#4949)
Fix annotation values for annotations on edges where phantom nodes are snapped.
2018-03-13 11:31:29 -07:00
Michael Krasnyk
b7af6eb2a4 Remove correctly the last segment in annotation 2018-03-09 15:59:21 +01:00
Michael Krasnyk
4d0fb89489 Adjust Straight direction modifiers of side roads in driveway handler 2018-03-05 13:19:57 +01:00
Michael Krasnyk
6f4af330ed Handle oneways in get_forward_backward_by_key 2018-03-05 13:19:57 +01:00
Daniel Patterson
5df33e5b90 Make alternative routes tests stable by only being single-threaded 2018-03-01 12:03:18 +11:00
karenzshea
db608559f6 avoid testing self-intersecting way 2018-02-28 15:21:47 +01:00
Michael Krasnyk
c048a36a4c Use smaller range for U-turn angles in map-matching 2018-02-28 15:21:47 +01:00
Duane Gearhart
33021d37a1 Updated segregated intersection identification (#4845)
* Initial internal intersection updates
paired with @oxidase and @kdiluca
TODO fix tests and add in new ones

* Added Internal Intersection Model

* removed debug info

* updates per PR 4845

* fixing build errors

* fixing all compile errors

* fixed EdgeID param

* Added is_internal_straight lambda
Added/Updated constexpr names and values

* added rejection case turn degree logic

* debug logging

* added turn angle logic to reject if there are incoming edges that have opposite turn degrees than outgoing edges or if the outgoing edges have opposing turn degrees; also merged with master v5.16

* fixed formatting

* fix to decrease tile size based on latest turn angle internal intersection updates

* Removed breaks

Breaks in code were a mistake and caused a change in the internal intersection identification.

* Update segregated_intersection_classification.cpp

* Update CHANGELOG.md

Added CHANGED #4845: Updated segregated intersection identification to Unreleased
2018-02-27 15:11:23 -05:00
Karen Shea
43f0723b73 Remove deduplication of unpacked_path_segments in MM collapsing (#4911)
* remove deduplication of unpacked_path_segments
2018-02-24 12:42:11 +11:00
Michael Krasnyk
5acf660f37 Check required tags of maneuver relations 2018-02-21 14:49:15 +01:00
Michael Krasnyk
de13834c12 Handle motorway forks with links as a normal motorway ...
passing some ramps or mering onto another motorway
2018-02-21 14:19:53 +01:00
Michael Krasnyk
49811e1f46 Test case for a highway fork with a link 2018-02-21 14:19:53 +01:00
Michael Krasnyk
1cafafc4cd Don't use obvious directions at ramp bifurcations, #4895 2018-02-20 09:02:24 +01:00
Michael Krasnyk
e2c1956aa5 Test for a ramp bifurcation obviousness 2018-02-20 09:02:24 +01:00
Michael Krasnyk
519eae63c6 Use links with lower priority in the motorway handler
Ref:
https://wiki.openstreetmap.org/wiki/Highway_link
https://wiki.openstreetmap.org/wiki/Link_roads_between_different_highways_types
2018-02-13 11:20:27 +01:00
Michael Krasnyk
5f598da76d Add OSM node barrier=height_restrictor handling 2018-02-12 11:40:35 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations (#4676) 2018-02-10 05:32:09 +11:00
Huyen Chau Nguyen
fa8d788bb6
Add road priority class to turn function (#4858)
* expose road priority class to turn function

* update docs
2018-02-07 11:39:02 +01:00
Michael Krasnyk
10de243556 Move guidance turn generation out of EBGF 2018-02-02 11:33:38 -05:00
Alain ANDRE
2987292cc0 Add support for non-numerical units in car profile for maxheight #4763 2018-02-02 11:07:43 +01:00
Michael Krasnyk
1119a542d6 Announce reference change if names are empty, #4830 2018-01-29 16:32:59 -05:00
Michael Krasnyk
d706696179 Test case for ref changes with empty names, #4830 2018-01-29 16:32:59 -05:00
Karen Shea
c154875272
Only run step collapsing based on original waypoints parameter (#4829) 2018-01-29 12:35:55 -08:00
Michael Krasnyk
77f8a4f741 Set type of trivial intersections where classes change to Suppressed
... instead of NoTurn
2018-01-25 11:43:44 -05:00
Huyen Chau Nguyen
61e06fcaba
Making the turn function more flexible (#4789)
* set and store highway and access classification for the turn function
* expose highway turn classification and access turn classification and speed to the lua profile turn function
* expose whether connection road at turn is incoming or outgoing
* add lua tests for exposed information to turn function
* update docs about attributes in process_turn
* add turn_classification info to docs
* adding warning if uturn and intersection dont match
* handle u turns that do not turn into intersection[0]
* split OSM link generation in an accessible coordinate function
2018-01-24 15:39:55 -05:00
Kajari Ghosh
13bb997525 Revert "Get actual paths for every entry in a matrix."
This reverts commit 350bc6f756.
2018-01-24 11:52:43 -05:00
Kajari Ghosh
350bc6f756 Get actual paths for every entry in a matrix. 2018-01-24 11:30:26 -05:00
karenzshea
02712cd513 Allow restricted access on highway=service roads for the car profile
We still backlist `access=private` for the car profile though.
2018-01-23 17:40:18 +01:00
Michael Krasnyk
341a5345da Ignore no_*_on_red turn restrictions (#4804) 2018-01-19 15:50:54 +01:00
Kajari Ghosh
72de59ac91
add tunnel as a class in lua (#4812) 2018-01-19 09:47:27 -05:00
Patrick Niklaus
6eb4247484 Fix overflow on zero duration segments, fixes #4283.
As a form of smoothing we use the previous speed value instead.
This makes sense because the zero duration segments have to be very
short, potentially also zero length.
2018-01-18 17:29:23 +01:00
Patrick Niklaus
30f910e861 Add regression test from @fijemax 2018-01-11 12:46:49 +00:00
karenzshea
55cc06fd8b Add waypoints parameter to matching service, returns map matching result
with selective input coordinates as waypoints
2018-01-08 12:28:20 +01:00
Michael Krasnyk
cc1a5ea78d Remove usage of IntersectionGenerator in EBGF 2018-01-05 17:35:11 +01:00
Michael Krasnyk
3c3322173c Allow to specify empty bearings string in input parameters 2018-01-05 17:35:11 +01:00
Michael Krasnyk
3dec680058 Remove check unnamed check in sliproad handler 2017-12-26 16:18:27 +01:00
Michael Krasnyk
9237430be2 Test for sliproads to roads with empty names 2017-12-26 16:18:27 +01:00
Patrick Niklaus
12d1d84b11 Add test case for sliproads converted from forks 2017-12-26 16:18:27 +01:00
Patrick Niklaus
6dd029e6ea Restore original intend of roundabout test
When doing the new Lua version refactor we changed the expectation to
use `continue uturn` instead of making a whole circle in the roundabout
as the original test case. This was only the shortest path since there
was no roundabout penalty.
2017-12-26 13:28:12 +00:00
Frédéric Rodrigo
5af776d963 Car Profile. Route by supporting physical limitation of height and weight 2017-12-19 13:51:33 +00:00
Marcel Radischat
659b470320 Add failing test
The avoid set should take precedence over the speed limits.
2017-12-16 23:45:04 +00:00
karenzshea
8cf8f0d7d6 check empty name string in findBasicTurnType 2017-12-11 15:37:56 +00:00
Daniel J. Hofmann
978350c388 Adds cucumber test for continue not taking ref into account when name is empty 2017-12-11 15:37:56 +00:00
Daniel Patterson
353829a4cc
This test now passes, including in the test suite. (#4712) 2017-11-29 13:16:07 -08:00
Daniel Patterson
c1efefae27
Use the correct driving_side property on the arrive step. (#4708)
Use the correct driving_side property on the arrive step.
2017-11-27 13:16:33 -08:00
Michael Krasnyk
7361558c19 Allow single edge paths in MLD alternatives, #4691 2017-11-21 12:28:44 +01:00
vng
92c4a228e1 Revert suppressSegregated routing. 2017-11-16 15:08:30 +01:00
vng
ec7e58e10e Pass edge-based node segregated flag to the post processing routine. 2017-11-16 15:08:30 +01:00
vng
37685dae73 Added segregated test #4273. 2017-11-16 15:08:30 +01:00