Emil Tin
184cfab33b
increase performance by passing vars instead of a table
2016-11-18 00:21:34 +01:00
Emil Tin
fd95b2da76
streamline way_function
2016-11-18 00:21:34 +01:00
Emil Tin
ce04a608b8
lua: refactor car.lua into smaller functions
2016-11-18 00:21:34 +01:00
Emil Tin
cff69178e8
lua: simple tag cache enabling factoring way_function into smaller functions
2016-11-18 00:21:34 +01:00
Kajari Ghosh
c30f43b148
added max_speed to the profiles ( #3089 )
2016-11-01 17:13:10 -04:00
Daniel Patterson
ceddfada3d
Don't mark all lanes as designated when there are blank lane specifiers in the tag.
2016-10-25 14:37:59 -06:00
Daniel J. Hofmann
19f00589de
Removes constant speed offset from calibration two years ago, resolves #3023 .
...
Our fine-tuned profiles are better in modelling real speed by now. This
constant offset is no longer needed. We still scale maxspeed, though.
https://github.com/Project-OSRM/osrm-backend/issues/3053
2016-10-22 06:48:49 +02:00
Moritz Kobitzsch
5e167b8745
Turn Angles in OSRM were computed using a lookahead of 10 meters.
...
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.
In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Daniel J. Hofmann
ab1a9271c8
Canonicalizes Spaces in Semicolon Stringlists, fixes #3086
2016-10-19 14:14:18 -07:00
Kajari Ghosh
3f0f0e306b
Directional Destination Tags ( #3061 )
...
* cucumber test scenarios, #3027
* post review comments
* two tests are still failing
* fixed one test
* passing tests
* cleaner code refactor
* possible sceanrios for destination:ref:forward/backward
* added code for direction:ref:forward/backward, tests pass
* changelog
* store direction in variable
* added tags to taginfo
* fixed dumb error
* use boolean flags
* null pointer checks
* hopefully better null pointer checks
2016-10-18 23:09:19 -04:00
Daniel J. Hofmann
ee4fb89336
Adds missing routable service tags
...
http://taginfo.openstreetmap.org/keys/service#values
2016-10-18 22:11:13 +02:00
karenzshea
f540485cb0
Add a speed for driveway to service speeds
2016-10-17 15:45:31 -07:00
Daniel J. Hofmann
a13cf3f2be
Route over alternating oneways but not reversible ones, closes #2837 .
...
- alternating: high frequency, route over them with penalty
- reversible: low frequency, do not route over them - time dependence
- http://wiki.openstreetmap.org/wiki/Tag:oneway%3Dreversible
- http://wiki.openstreetmap.org/wiki/Tag:oneway%3Dalternating
This distinction was made at the Elbe-Labe Meetup in Dresden, with
accompanying Wiki pages and tagging scheme. Thanks all involed!
- https://github.com/Project-OSRM/osrm-backend/issues/2837
- http://wiki.openstreetmap.org/wiki/Key:oneway
2016-10-12 12:53:07 +02:00
Daniel J. Hofmann
bbbbacb073
Reworks Restriction Whitelist / Blacklist, resolves #2833
...
Takes a stricter aproach for whitelisting / blacklisting restrictions:
- uses `restriction=`
- uses more specific `restriction:<type>=`
- uses `except=<type>` to invert
Where `type` is the type of transportation to restrict, e.g. `motorcar`.
https://github.com/Project-OSRM/osrm-backend/issues/2833
2016-09-28 09:35:02 +02:00
Daniel J. Hofmann
a63b10972b
Handle HOV designated-only Lanes, resolves #2929
...
In https://github.com/Project-OSRM/osrm-backend/issues/2711 we made
`hov=designated` routability configurable.
We want to handle designated-only lanes in the same way. Example:
hov:lanes:forward=designated|designated
hov:lanes:backward=designated
should have more or less the same effects as
hov=designated
In contrast
hov:lanes:forward=designated|no|yes hov:lanes:backward=yes
should not be handled. See
https://github.com/Project-OSRM/osrm-backend/issues/2711
for explanation wrt. tag semantics with the difference that
backward/forward only set the backward/forward mode to inaccessible.
References:
- http://wiki.openstreetmap.org/wiki/Key:hov#hov:lanes.3D.2A
2016-09-21 10:56:42 +02:00
karenzshea
dcc1b5ab2b
return name and reference separately
2016-09-08 14:28:23 +02:00
Daniel Patterson
1ab2b87cc0
Update turn penalty function to better fit measured data
2016-09-06 09:07:00 -07:00
Patrick Niklaus
315823cce1
Use service tag to penaltize alleys and forbid emergency access
2016-08-29 14:15:22 +02:00
Patrick Niklaus
6ff07f4e82
State all turn penalties in seconds
2016-08-29 13:54:56 +02:00
Frédéric Rodrigo
88573a66cd
Add local maxspeed for Netherland
2016-08-22 18:53:33 +02:00
Patrick Niklaus
12d478784b
Enable toll roads by default again.
...
Currently we don't route over the Golden Gate bridge by default.
This sets the value to false by default. To test the behavior for
tolls when ignored, we would need issue #2781 implemented.
2016-08-19 13:01:15 +02:00
Patrick Niklaus
677306eeee
Merge pull request #2707 from oxidase/left_side_driving
...
Left side driving
2016-08-05 18:09:10 +02:00
Daniel J. Hofmann
8bee57b0b0
Makes toll=yes way's routability configurable in profiles.
...
The primary use-case is conditionally filtering ways such as:
https://www.openstreetmap.org/edit#map=18/38.94198/-77.28127
which we are guiding the user onto in the route from DC to IAD:
http://map.project-osrm.org/?z=12¢er=38.934443%2C-77.167969&loc=38.902656%2C-77.029095&loc=38.952210%2C-77.453424&hl=en&alt=0
This changeset makes `toll=yes` configurable in the profiles, disabling
them by default. Neither do we support time-based fees nor vehicle
category fees at the moment.
References:
- http://wiki.openstreetmap.org/wiki/Key:toll
2016-08-04 14:29:22 +02:00
Daniel J. Hofmann
583aaff286
Makes designated HOV way's routability configurable in profiles.
...
Why only `hov=designated` and not all access tags, such as `hov:yes`,
`hov=no` and so on? From the Wiki:
- designated: The way is designated to high occupancy vehicles.
- yes: High occupancy vehicles are allowed. This by itself does not imply that other vehicles are restricted from using the way.
- no: High occupancy vehicles are not allowed on the way. This by itself does not imply that other vehicle types are allowed to use it.
The primary use-case is conditionally filtering ways such as:
http://www.openstreetmap.org/way/11198593#map=19/37.82571/-122.30521&layers=D
In addition there is a notion of HOV lanes for lane handling:
http://wiki.openstreetmap.org/wiki/Key:hov#hov:lanes.3D.2A
This changeset does not handle lanes at all, only designated HOV ways.
For HOV lane support, a logic similar to the lane access handling needs
to be implemented. This needs to go hand in hand with the existing lane
handling introduced in:
7d076e9344
References:
- #2711
- http://wiki.openstreetmap.org/wiki/Key:access
- http://wiki.openstreetmap.org/wiki/Key:hov#Values
2016-08-03 12:24:43 +02:00
Lauren Budorick
c09b9b4c99
Initial left hand driving implementation
2016-07-28 22:59:22 +02:00
Moritz Kobitzsch
1fc63e1e72
move hardcoded road priorities into profiles, change road classification
2016-07-25 13:07:54 +02:00
Moritz Kobitzsch
375331b80c
fixing lua issue in profile
2016-06-28 12:59:02 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Daniel J. Hofmann
ad70759f91
Revert "Handle small roundabouts, fixes #516."
...
This reverts commit 7641b12b08
.
Conflicts:
profiles/bicycle.lua
profiles/car.lua
2016-06-02 15:08:24 +02:00
Daniel J. Hofmann
4ad78309e2
Revert "Set speeds for mini roundabouts in car and bike profile"
...
This reverts commit a85f39c140
.
2016-06-02 15:00:47 +02:00
Daniel J. Hofmann
c490752ca7
highway=motorway_link does not imply oneway, fixes #1662
...
References:
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway_link#Tagging_oneway
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway_link
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway
2016-06-02 13:05:50 +02:00
Daniel J. Hofmann
6edc565c01
Add destinations API feature
2016-06-02 12:00:23 +02:00
Patrick Niklaus
0a53775fb3
Expose pronunciation in RouteStep
...
Uses name:pronunciation by default for cars.
2016-06-01 23:17:57 +02:00
Daniel J. Hofmann
a85f39c140
Set speeds for mini roundabouts in car and bike profile
2016-06-01 20:17:48 +02:00
Daniel J. Hofmann
7641b12b08
Handle small roundabouts, fixes #516 .
...
This gives us ~51k additional roundabout instructions.
Guidance handes sizes internally.
Note: it is highway=mini_roundabout but junction=roundabout
References:
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmini_roundabout
- http://wiki.openstreetmap.org/wiki/Tag:junction=roundabout
- http://taginfo.openstreetmap.org/tags/highway=mini_roundabout
2016-06-01 20:17:48 +02:00
Daniel J. Hofmann
c7e19396a4
Guard against mis-tagging: only use destination tag in combination with oneway tag
2016-05-04 15:28:34 +02:00
Daniel J. Hofmann
4cf94319df
Basic destination sign handling.
...
This first part in our Exit Sign / Destination Sign quest re-wires
the `destination=` and `destination:ref=` tag to the `ref=` tag (in case
it's the highway does not already have a `ref=` tag).
Doing some analysis on both Berlin and San Francisco it looks like this
will add a couple of thousand `ref=` tags that we will announce in guidance.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2267#issuecomment-214771682
- http://wiki.openstreetmap.org/wiki/Key:destination
- http://wiki.openstreetmap.org/wiki/Proposed_features/Destination_details
2016-05-04 15:28:34 +02:00
Moritz Kobitzsch
cf17bd38eb
Revert "Revert "switched to space separated suffix/prefix only""
2016-04-28 14:59:17 +02:00
Patrick Niklaus
e88106e990
Revert "switched to space separated suffix/prefix only"
...
This reverts commit e9e935303c
.
2016-04-27 23:20:10 +02:00
Moritz Kobitzsch
e9e935303c
switched to space separated suffix/prefix only
2016-04-27 19:12:24 +02:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
karenzshea
bca8593eef
remove movable bridge mode from car profile
2016-04-19 10:21:46 -04:00
Patrick Niklaus
589767fe6d
uturns -> continue_straight
2016-04-12 23:16:02 +02:00
Daniel J. Hofmann
be15a3b739
Add maxspeed=none tag to car profile.
...
maxspeed=none means there is no explicit maxspeed limit. Set to
guestimate for driving on the Autobahn.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2145
- http://wiki.openstreetmap.org/wiki/Key:maxspeed
- http://taginfo.openstreetmap.org/tags/maxspeed=none
- http://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Maxspeed
2016-04-11 09:38:45 +02:00
Patrick Niklaus
71c336d9dd
Adds .properties file to osrm-extract ouput
...
This file contains global properties set by the lua
profile, such as enabling uturns at vias and penalties.
This file will be consumed by the server.
2016-04-05 22:58:32 +02:00
Patrick Niklaus
8eb98982f3
Fix travel mode passing from profiles up to the API
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3ee8b655ea
Prevents routing over delivery ways and nodes; closes #2150 .
2016-04-04 14:00:54 +02:00
Daniel J. Hofmann
c70d138eb9
Spelling: Hierachy vs Hierarchy
2016-04-04 13:58:55 +02:00
Daniel J. Hofmann
af2a327310
Removes unused access_tag list from car profile
...
This is dead code. Using my time machine (which sadly can only go back
in history), I found the introducing commit here:
74cc50f52b (diff-ded22cbfae0ae88f6359ccff1c3355b0R106)
Seems like we no longer use it, and it was still left in the car profile.
2016-04-04 13:55:27 +02:00
Patrick Niklaus
a14cb1fc06
Merge pull request #1818 from gardster/side_road_tag_support
...
A side_road tag support for the OSRM car profile.
2016-01-11 17:10:42 +01:00
Patrick Niklaus
c27fc4e4d8
Add comments to profiles about uturn
2015-12-18 15:54:33 +01:00
Moritz Kobitzsch
a37192c102
alignment
2015-12-18 12:28:03 +01:00
Moritz Kobitzsch
68bd6a29b6
modified local state of u_turn_penalty_variable
2015-12-18 12:25:46 +01:00
Patrick Niklaus
914570b053
Don't snap to ferries in car profile
2015-12-16 22:03:46 +01:00
Lev Dragunov
4d4a3d02ed
A side_road tag support for the OSRM car profile.
2015-12-15 13:23:27 +03:00
Patrick Niklaus
783d455bd7
Add support for advisory speed limits
...
This adds support for the maxspeed:advisory class of speed tags.
2015-11-19 21:25:12 +01:00
Patrick Niklaus
6c35272fe2
Remove obsolte code as we use a turn function now
2015-11-19 21:25:12 +01:00
Daniel J. Hofmann
6cbbd1e5a1
Move destination to access tag white list instead of making exception in car profile.
...
Tested with:
cucumber --tags @access -p verify
References:
- https://github.com/Project-OSRM/osrm-backend/issues/1617
- https://github.com/Project-OSRM/osrm-backend/pull/1639
2015-09-03 17:46:20 +02:00
Daniel J. Hofmann
b6ef558c86
Make pedestrian roads marked as destination routable with car profile.
...
Check provided tests with:
cucumber --tags @access -p verify
References:
- https://github.com/Project-OSRM/osrm-backend/issues/1617
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dpedestrian
- http://wiki.openstreetmap.org/wiki/Key:motorcar
- http://wiki.openstreetmap.org/wiki/Key:access
2015-09-03 17:46:20 +02:00
Daniel Patterson
b3822d5802
Enable turn penalties on car profile, using values tuned by comparing real-world sample routes with map-matched routes.
2015-09-03 17:01:11 +02:00
Daniel J. Hofmann
bb1428eeb1
Remove unneeded semicola from profiles.
...
Nothing fancy, does what it says.
2015-09-02 12:23:26 +02:00
Daniel J. Hofmann
db30836b53
Add rising bollard exception to barriers for car profile.
...
This handles `barrier=bollard` with `bollard=rising`, by making an
exception to the barrier whitelist. Barriers tagged as such do no longer
require an explicit access tag.
This also adds corresponding tests, check this out:
cucumber --tags @barrier
References:
- http://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard
- http://wiki.openstreetmap.org/wiki/Key:bollard
- https://github.com/Project-OSRM/osrm-backend/issues/1616
2015-08-25 14:52:45 +02:00
Daniel J. Hofmann
3e8ef5e462
Remove unused obey_bollards
from profiles, already handled via barrier_whitelist
.
2015-08-25 14:24:43 +02:00
Patrick Niklaus
faa880d60a
Remove unused memebers and rename to currrent style convention
2015-07-01 18:07:29 +02:00
Patrick Niklaus
8a2652f53d
Only penaltize bidirectional ways if they have 1 lane
2015-06-27 16:26:18 +02:00
Patrick Niklaus
86df55f5cc
Add penalty if there is only one lane for both directions
2015-06-18 17:31:49 +02:00
Patrick Niklaus
4e57e10ba8
Use 'name (ref)' if both are present
2015-06-01 11:19:27 +02:00
Patrick Niklaus
6166d946f7
Fix access tag check
2015-05-16 14:39:49 +02:00
Patrick Niklaus
7ad52de2b1
Cleanup the profiles
2015-05-16 14:39:49 +02:00
Lauren Budorick
566ab993df
Use lua 5.2+ without needing compatibility flags.
2015-05-15 15:02:23 +02:00
Dennis Luxen
11bdfba37e
traffic signal penalty ignored on white-listed barriers, cf. #1365
2015-04-13 09:47:12 +02:00
Dennis Luxen
dd5f926077
respect capacity:car for movable bridges in car profile
2015-02-26 16:22:18 +01:00
Dennis Luxen
845020b0e2
remove debug output
2015-02-26 16:17:42 +01:00
Dennis Luxen
645e3ccbb3
add movable bridge support to the car profile. Implements #1399
2015-02-26 14:56:01 +01:00
Dennis Luxen
b89c7580e6
implement scaling for narrow roads as an alternative expected speed and take the minimum. Follows @emiltin's idea.
2015-02-20 10:33:14 +01:00
Dennis Luxen
a85fe2cb08
remove debug output, thx @emiltin
2015-02-20 10:33:14 +01:00
Dennis Luxen
4c4c126361
implements a penalty for very narrow road:
...
- implements discussion of #1388
- implements basic test cases
2015-02-20 10:33:14 +01:00
Dennis Luxen
7e70fa63d7
Merge pull request #1338 from frodrigo/develop
...
Black list access=psv for car profile
2015-01-09 23:39:49 +01:00
Dennis Luxen
bea4b520c0
Revert "Revert "fix #1255 assume lift gates are passable""
...
This reverts commit cec3d1488a
.
*sigh*
2015-01-09 19:15:00 +01:00
Frederic Rodrigo
26f7ac9ca1
Black list access=psv for car profile
2015-01-09 17:14:16 +00:00
Dennis Luxen
725b93a961
Merge branch 'develop'
2015-01-06 11:03:29 +01:00
Dennis Luxen
47a2271e27
copy edits:
2014-12-23 11:30:45 +01:00
Dennis Luxen
40ff7ad999
update speed profile from external calibration data
2014-12-17 11:02:04 +01:00
Dennis Luxen
16631bf454
port track smoothness to new parsing
2014-11-17 14:58:38 +01:00
Dennis Luxen
b131f27eb9
use_turn_restrictions as global in car profile
2014-11-17 14:58:38 +01:00
Dennis Luxen
4cddf0bf5d
replace explicit value fetching with wrapper call
2014-11-17 14:58:34 +01:00
Dennis Luxen
ebcdcb5f00
port car profile
2014-11-17 14:58:33 +01:00
Dennis Luxen
cec3d1488a
Revert "fix #1255 assume lift gates are passable"
2014-11-13 14:23:54 +01:00
AlanBell
8f804581c0
fix #1255 assume lift gates are passable
...
lift gates are commonly found on industrial parks or businesses, delivery drivers need to route to these, most gates are permissive and open in daytime, this patch won't route through gates where access is specifically no.
2014-11-07 10:29:25 +00:00
Dennis Luxen
a443f3a0bb
add barrier checkpoint to the white list of passable tags
2014-10-10 10:34:34 +02:00
Emil Tin
fe43734811
use nil for unlimited surface speeds
2014-10-07 13:50:53 +02:00
Emil Tin
0df81c49d5
surface, tracktype, smoothness tags in car profile
2014-10-07 10:43:47 +02:00
Dennis Luxen
5653516b32
traverse *_link roads at a significantly lower speed than the main link, fixes #1174
2014-10-06 13:42:30 +02:00
Frédéric Rodrigo
6b98b5f4c7
Parse maxspeed value like FR:urban on car profile
2014-10-04 14:12:14 +02:00
Dennis Luxen
6a09ce1613
fix comparison in car speed profile
2014-08-21 12:17:03 +02:00
Emil Tin
774e6346e7
more robust check for parsed ways
2014-08-20 17:10:40 +02:00
Emil Tin
fccb1aad32
remove type attribute
2014-08-20 11:08:59 +02:00
Emil Tin
3d94638d86
update car profile, add ferry mode
2014-08-20 11:08:58 +02:00
Emil Tin
30362cfc0c
update lua interface to speed and mode
2014-08-20 11:08:58 +02:00
Dennis Luxen
1508874ebc
return early if way is not either highway=* or route=* in car profile. Estimated cost saving 10%
2014-07-24 18:00:37 +02:00