Commit Graph

174 Commits

Author SHA1 Message Date
Daniel Patterson
73ce44028f Allow routing on toll roads by default (#3712) 2017-02-14 15:20:10 -08:00
Patrick Niklaus
2e6428e917 Fix HOV lane support with penalties 2017-02-10 14:27:28 +00:00
karenzshea
24fe881d03 hov_penalty, use min penalty rather than aggregate 2017-02-10 14:27:28 +00:00
karenzshea
25ab51f4f0 remove calls to handlers now in handle_penalties 2017-02-10 14:27:28 +00:00
karenzshea
46f96af360 fix merge conflicts 2017-02-10 14:27:28 +00:00
Patrick Niklaus
ae835cc04f Blacklist steps from the car profile 2017-02-08 14:27:55 +00:00
Michael Krasnyk
9e5d45d86a Added 'distance' weight to car profile 2017-02-03 18:59:00 +00:00
Emil Tin
97c0a74c04 factor out common lua code to helper files 2017-02-01 16:50:18 +01:00
Patrick Niklaus
279f8aabfb Allow specifing a weight for routing that is independent of duration 2017-01-27 11:19:37 +01:00
Patrick Niklaus
0f3a463854 Add api_version gloabal variable to profiles
Currently only `0` is supported (the default).
2016-12-23 15:02:10 +01:00
Daniel J. Hofmann
949d505783 Removes access_restricted flag internally 2016-12-05 14:15:47 +01:00
Emil Tin
d11927046f car profile: remove use of is_access_restricted flag 2016-12-05 14:15:47 +01:00
Emil Tin
9461c83511 car profile: handle forward/backward access 2016-12-05 14:15:47 +01:00
Emil Tin
532cbfce13 profiles: Directional helper, some car refactoring 2016-12-05 14:15:47 +01:00
Daniel J. Hofmann
fe5cc55b0e support junction = circular in all profiles, add additional tests
References:
- https://wiki.openstreetmap.org/wiki/Tag:junction%3Dcircular
- https://lists.openstreetmap.org/pipermail/tagging/2016-November/030520.html
- https://github.com/Project-OSRM/osrm-backend/issues/3361
2016-11-29 13:44:32 +01:00
Moritz Kobitzsch
12d58ace10 add support for junction=circular, allowing named circular junctions to be treated as rotaries 2016-11-29 13:44:32 +01:00
Emil Tin
305e813489 lua: improve naming 2016-11-18 00:21:34 +01:00
Emil Tin
5d564ee510 lua: Set and Sequence 2016-11-18 00:21:34 +01:00
Emil Tin
24c2708d1e lua: eliminte tag cache, simplify tag checks 2016-11-18 00:21:34 +01:00
Emil Tin
f90736b6b3 lua: handle_hov() 2016-11-18 00:21:34 +01:00
Emil Tin
9aeb3086cb lua: cleanup handle_blocking(), move common cases up early 2016-11-18 00:21:34 +01:00
Emil Tin
9e361a8178 lua: exit earlier when possible 2016-11-18 00:21:34 +01:00
Emil Tin
c3aeef4e09 lua: eliminate TagCache.set_tag() 2016-11-18 00:21:34 +01:00
Emil Tin
50090e6447 lua: some cleanup 2016-11-18 00:21:34 +01:00
Emil Tin
b9e5d26e3a remove dead code 2016-11-18 00:21:34 +01:00
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&center=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