karenzshea
0bd08224bf
add comments, refactor find obvious turn
2016-11-21 13:16:30 -05:00
Daniel J. Hofmann
2a383efbf6
Makes Throughput Numbers Integral Types
2016-11-21 12:41:25 +01:00
Patrick Niklaus
3bade8625f
Don't crash on assigning nil to a string in lua
2016-11-21 12:17:44 +01:00
Emil Tin
a5756fc764
fix c++ formatting
2016-11-18 00:21:34 +01:00
Emil Tin
dce685c780
ensure we don't pass empty tags to LUA
2016-11-18 00:21:34 +01:00
Emil Tin
d87a972c66
don't return empty tags strings to lua
2016-11-18 00:21:34 +01:00
Daniel J. Hofmann
1b4779a58c
Avoids Shuffling Data Around for Nothing, closes 3306
2016-11-17 12:51:18 +01:00
Moritz Kobitzsch
a4264c7849
fix node-based-graph-walker
2016-11-16 12:03:59 +01:00
Moritz Kobitzsch
538bbd47d1
fix length limited graph walker
2016-11-14 18:38:15 +01:00
Patrick Niklaus
5a293e891b
Merge pull request #3296 from Project-OSRM/libosmium-2.10.0
...
Osmium 2.10
2016-11-12 02:12:49 +01:00
Michael Krasnyk
b57169e221
Flush stxxl vectors before using in PrepareData
2016-11-12 02:09:51 +01:00
Daniel J. Hofmann
0375af197d
Skips OSM object metadata reading, closes #3278
2016-11-11 16:35:57 +01:00
Moritz Kobitzsch
f88ac989ea
reserve when possible
2016-11-11 14:48:50 +01:00
Moritz Kobitzsch
827a1fbd7a
separate intersection generation and intersection normalization
2016-11-10 12:56:46 +01:00
Moritz Kobitzsch
e84a0ea37c
reduce coordinate_extraction overhead. slowdown reduced by 30 percent
2016-11-10 10:44:54 +01:00
Moritz Kobitzsch
7073403f1b
rip out dedicated file for single function (minor refactor)
2016-11-09 12:52:39 +01:00
Daniel J. Hofmann
6ac9617d49
Adapt test to returning ref, Take Pronunciation into Account, Fixes name change heuristic usage in UTurn check
2016-11-08 12:14:23 +01:00
Moritz Kobitzsch
ccdebccde1
adjust sliproad handler for empty-name check, illustrate testcase
2016-11-08 12:14:23 +01:00
Daniel J. Hofmann
c1651ccb12
Uses Name Change Heuristic Instead of Comparing Name Ids
...
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2857
- https://github.com/Project-OSRM/osrm-backend/pull/2900
- https://github.com/Project-OSRM/osrm-backend/issues/2909
2016-11-08 12:14:23 +01:00
Moritz Kobitzsch
2fb40944bf
pull in intersection finder accumulator
2016-11-04 13:28:09 +01:00
Michael Krasnyk
b108d8ea21
Use explicit std::function for to_lane_count instead of auto
2016-11-04 10:46:24 +00:00
Daniel J. Hofmann
d2cd4fac2d
Fixes Always-Zero Lane Count Introduced in #3237
2016-11-03 15:52:18 +01:00
Moritz Kobitzsch
cd03877c90
link ConnectedRoad and TurnOperation via class hierarchy
...
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Moritz Kobitzsch
faa5185440
add node-based-graph traversal capabilities
2016-11-02 15:38:09 +01:00
Moritz Kobitzsch
4ba8ccfcce
add a geojson debugger that allows creating features for easy inspection
2016-11-02 14:54:00 +01:00
Kajari Ghosh
c30f43b148
added max_speed to the profiles ( #3089 )
2016-11-01 17:13:10 -04:00
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Moritz Kobitzsch
8dc667f20d
fix warnings due to superfluous ;
2016-10-27 20:06:14 +02:00
Moritz Kobitzsch
8ff4bc09ac
fix breaking the sorting order by node adjustments
2016-10-27 19:55:56 +02:00
Moritz Kobitzsch
88c3f4c481
Considering multiple small turns, right after each
...
other can result in a combined turn angle that is
straight instead of turning left and right.
2016-10-27 19:19:23 +02:00
Moritz Kobitzsch
01a2c66472
rip out unused m_node_info_list
2016-10-27 18:51:59 +02:00
Huyen Chau Nguyen
cf35bbeb50
refactor function names; consolidate readCount() functions;
...
remove templated types as much as possible for type safety;
add more comments;
clean up code, add const if possible;
2016-10-26 13:18:52 -07:00
Moritz Kobitzsch
e8b947bca6
fix coordinate extraction with less than 1 meters past lane distance
2016-10-25 10:07:09 -07:00
Michael Krasnyk
7753845f5c
Make thread-locked access to stxxl containers
...
From stxxl FAQ: "you should not share a data structure between
threads (without implementing proper locking yourself)."
The access to name_char_data can be implicitly parallelized
if _GLIBCXX_PARALLEL is defined and invalidate local-thread iterators.
2016-10-25 10:03:26 -07:00
jakepruitt
c30784895d
clang-format and remove debug
2016-10-20 11:32:28 -07:00
jakepruitt
42271d99b2
Store node ID's and weights separately in CompressedEdgeContainer
...
Removes CompressedEdges from the extractor and shared data format by
directly serializing vectors of node ID's, forward weights and reverse
weights for each node-based-edge
Refs #2575
2016-10-20 11:32:28 -07:00
Moritz Kobitzsch
ecee13bffa
actually calculate distance instead of using .distance
which is a timing value
2016-10-20 12:27:02 +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
Patrick Niklaus
769485cc2f
Initilialize tbb task scheduler correctly. Thanks @oxidase!
2016-10-19 18:30:06 +02:00
Huyen Chau Nguyen
06d13b6954
run clang-format on edited files
2016-10-17 15:27:14 -07:00
Huyen Chau Nguyen
d0c142b9c7
remove util self-written make_unique and use C++14 stdlib make_uniqe
2016-10-17 15:27:14 -07:00
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
Moritz Kobitzsch
17eb664597
don't get disturbed by service roads in obvious discovery
2016-10-13 16:10:59 +02:00
Moritz Kobitzsch
036475afd0
restructure for readability
2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
378322f6e3
don't provide turn-straight next to suppress-straight
2016-10-07 09:35:16 +02:00
Lauren Budorick
a75e16e26b
Deduplicate foward/reverse geometries
...
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.
Closes #2592
2016-10-06 10:09:57 -07:00
Moritz Kobitzsch
73179641b1
clang-format code
2016-10-06 14:06:19 +02:00
Moritz Kobitzsch
66f2cc5184
fix detection of forks in present of oneways
2016-10-05 17:49:54 +02:00
Moritz Kobitzsch
a824e64682
Merge branch 'master' into guido/notification
2016-09-29 16:03:44 +02:00
Moritz Kobitzsch
da15e1fc5e
adjust case/add clarification
2016-09-29 10:50:28 +02:00
Ansis Brammanis
7e2663f2ad
calculate roundabout radius from circumference, fix #2716
2016-09-29 10:42:42 +02:00
karenzshea
1a96483f7b
prefer notification over new-name/suppressed types
2016-09-29 10:26:56 +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
60010dd998
Reduce NewName Instructructions / Name Changes
...
With @karenzshea's name / ref split (ref. #2857 ) in master we want to
make use of it and reduce `NewName` instructions when ever possible.
This is a first step towards #2744 by using the already existing name
change heuristic from the extractor now in post-processing as well.
Limitations: at the moment we don't have the `SuffixTable` in
post-processing; this would require us serializing and subsequently
deserializing the table, passing it through from the profiles to the
API.
2016-09-21 12:42:39 +02:00
Moritz Kobitzsch
8522cddd61
Prevent loops in extraction based on merge
2016-09-19 13:33:52 +02:00
Moritz Kobitzsch
aa5f8dce23
fix may be uninitialised warnings
2016-09-15 08:25:17 +02:00
Daniel J. Hofmann
c186e51a08
Do Not Copy Lane Strings Into Fn
2016-09-14 20:27:17 +02:00
Moritz Kobitzsch
38f5adbe5c
we can count
2016-09-13 16:22:22 +02:00
Moritz Kobitzsch
092e77e89b
fix false positives in sliproads
2016-09-13 14:11:29 +02:00
Moritz Kobitzsch
64a72f574d
also reserve entry for refs
2016-09-13 13:48:28 +02:00
Moritz Kobitzsch
b3c5a9c010
fix looping in sliproad handler for lanes
2016-09-12 18:20:28 +02:00
Daniel J. Hofmann
e6fe9d0d67
Fixes issue where two ways with same name but different pronunciation where deduplicated, resolves #2860
2016-09-09 18:28:44 +02:00
Moritz Kobitzsch
2b9cf742c5
make sure to reserve enough external memory
2016-09-09 15:38:26 +02:00
Moritz Kobitzsch
c306a59854
make sure to not-collapse different travel modes
2016-09-08 15:01:25 +02:00
karenzshea
dcc1b5ab2b
return name and reference separately
2016-09-08 14:28:23 +02:00
Moritz Kobitzsch
9123c93a90
fix interaction between sliproads/segregated intersections
2016-09-07 12:36:29 +02:00
Moritz Kobitzsch
a551286a8f
adjust testscases for collapse of use lane
2016-09-07 12:17:36 +02:00
Daniel J. Hofmann
86fd04e556
Improves lane handling for subsequent going straight, resolves #2625
...
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.
This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.
Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.
There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625
fix rebase
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
b6dbf81206
don't assign lanes on delayed turns
2016-09-07 12:17:34 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
a0ed70f0a2
don't detect sliproads at wrong locations, don't emit invalid instructions
2016-09-06 09:01:06 +02:00
Moritz Kobitzsch
d3a6b5a77e
detect broken roundabout-taggings
2016-09-05 16:49:57 +02:00
Moritz Kobitzsch
5d79e0ac2f
catch infinite loops
2016-09-05 14:52:13 +02:00
Moritz Kobitzsch
6fac14dbd8
ignore invalid only_* restrictions
2016-09-01 09:14:01 +02:00
karenzshea
146eb3a20e
add test case for ignoring unknown restrictions
2016-08-31 09:52:05 -04:00
karenzshea
d8e444e620
explicitly return false for no_* restrictions
2016-08-31 08:33:56 -04:00
Moritz Kobitzsch
7e0d14b113
make collapse work by better detecting continue/non-continue situations
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
d06eec5e42
improve segregated road detection
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9648821a79
handle missing cases, cleaning up
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
21fb18fe5e
identify merges on non-perception cases
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
6a2518c0df
handle stronger merge cases as well
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
7886d06839
adjust angles pre-merge as well
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
5a9eb6ef72
prepare solution
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9b2f6585fb
handle non-through case
2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
46fd17a9ff
moved obviousness discovery. updated sliproad handler. back to original cases failing
2016-08-24 10:12:27 +02:00
Daniel J. Hofmann
da73bae9c6
Scenario for unnecessary slight left onto Stralauer Str
2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
e8bae78749
fix errors introduced in refactor
2016-08-18 11:36:36 +02:00
Moritz Kobitzsch
e14bc30428
adjusted for comments
2016-08-18 11:36:36 +02:00
Moritz Kobitzsch
9485c97738
adjusting u-turn handling in lane matching to fully fix 2706
2016-08-18 11:36:36 +02:00
Daniel J. Hofmann
d53c267129
Be more aggresive classifying Roundabout Intersections.
...
Roundabout Intersections are roundabouts with up to four ways and turn
angles which makes the turns obvious, e.g. as in:
```
*
*
* * * *
*
*
```
but not
```
*
*
* * *
* *
* *
```
For Roundabout Intersections we issue instructions such as
"turn <direction>" instead of "take the <nth> exit".
At the moment we have a limit on the radius for these Roundabout
Intersections of 5 meters. Which fails to classify a wide range of
Roundabout Intersections in the US (with the US-wide streets).
This changeset removes the Roundabout Intersection radius limit:
- if the roundabout is larger than a threshold and is named we classify
it as a rotary
- if the roundabout matches our criteria for Roundabout Intersections
we classify it as a Roundabout Intersection
- else fallback to plain old Roundabout
There is a second issue with determining a roundabout's radius.
But that's for another pull request (tracking in #2716 ).
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2716
2016-08-18 10:50:32 +02:00
Daniel J. Hofmann
b161e10b73
No Go To
2016-08-05 18:32:42 +02:00
Daniel J. Hofmann
5bef5dcb04
Disable our added failing cucumber tests for now
2016-08-05 18:32:42 +02:00
Daniel J. Hofmann
46a4c27582
Fall back to generic match finding if not a reverse-lane
2016-08-05 18:32:42 +02:00
Daniel J. Hofmann
acc6da86de
Skip handling none values for our edge cases for now..
...
Conflicts:
src/extractor/guidance/turn_lane_augmentation.cpp
2016-08-05 18:32:42 +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
Patrick Niklaus
6bfe3a2d41
Merge pull request #2733 from gavinsherry/master
...
Remove unused variable node_info_list
2016-08-04 11:24:33 +02:00
Daniel J. Hofmann
b24f5c7c1a
Adapt lane dump to lanes at intersection ( #2675 ), resolves #2709
2016-08-03 12:19:14 +02:00
Gavin Sherry
b09f637d02
Remove unused variable node_info_list
2016-08-02 14:17:57 -07:00
Moritz Kobitzsch
0d36d472c9
change paradigm of merge to only emit on motorway-like roads
2016-07-30 23:55:39 +02:00
Michael Krasnyk
a87c5998a1
Fix #2706 by using correct fallback u-turn
...
Regression is due to a combination of 08248e3853
and http://www.openstreetmap.org/changeset/40938983
where in ways http://www.openstreetmap.org/way/27292481
and http://www.openstreetmap.org/way/432488408
nodes
4315134884 (part of way 432488408)
4315134891 (part of way 432488408)
4315134886 (part of way 432488408)
form a u-turn that has index 0 after sorting and used as an allowed one
with a reversed edge.
A u-turn that corresponds to the condition uturn_could_be_valid == true has index 1
and ignored.
2016-07-30 12:15:22 +02:00
Michael Krasnyk
c918a7957b
Updated format and ChangeLog
2016-07-28 22:59:22 +02:00
Michael Krasnyk
95dc36e908
addressed comments
...
Signed-off-by: Lauren Budorick <lauren@mapbox.com>
2016-07-28 22:59:22 +02:00
Lauren Budorick
c09b9b4c99
Initial left hand driving implementation
2016-07-28 22:59:22 +02:00
Patrick Niklaus
c7a1576100
Apply clang-format again
2016-07-26 15:00:58 +02:00
Daniel J. Hofmann
eaf42ba437
Moves invalid id warnings to debug, closes #2630
2016-07-26 13:01:31 +02:00
Daniel Patterson
0b868969be
Remove generic std::exception handlers, they don't seem to be adding value, and they hide useful info.
2016-07-26 11:43:08 +02:00
Moritz Kobitzsch
7d076e9344
handle access flags for lanes
2016-07-25 20:01:58 +02:00
Moritz Kobitzsch
1fc63e1e72
move hardcoded road priorities into profiles, change road classification
2016-07-25 13:07:54 +02:00
Daniel J. Hofmann
fd6bb5ec1f
Lane Handling for multiple indications per lane as in left;left|, fixes #2694
...
Before we asserted on unique lane indications per lane. Turns out the
OSM data contains lane strings such as:
left;left|right
Which represents two lanes as in:
<< >
|| |
The two left indications _on a single lane_ look like data issue.
And we can't represent this with our enum-approach at the moment.
We don't want to crash there, so silently swallow this and
generate a single left|right for it.
2016-07-25 12:17:23 +02:00
Patrick Niklaus
261dbf3edd
Fix log output of osrm-extract
2016-07-25 12:03:30 +02:00
Moritz Kobitzsch
9e323d2d42
improve sliproad / fork handling
2016-07-22 15:16:59 +02:00
Konstantin Käfer
1309dd2a0f
Switch profiles from Lua to library interface
...
There's now an abstracted interface and no direct calls to Lua anymore.
fixes #1974
2016-07-22 15:03:57 +02:00
Moritz Kobitzsch
ee47afbe17
fix 2672
2016-07-19 17:06:47 +02:00
Patrick Niklaus
4fcb5d28a4
Merge pull request #2624 from oxidase/issues/2617
...
Fix ambiguous data issues
2016-07-13 11:20:40 +02:00
Moritz Kobitzsch
2ddc00c21e
update cucumber to 1.2.1 and remove hack
2016-07-13 11:04:35 +02:00
Michael Krasnyk
2b466b2fb2
Fix ambiguity in edges by using names lexicographical order
2016-07-11 05:54:30 +02:00
Michael Krasnyk
e17b306265
Fix ambiguity in edge weights by using minimal weight
2016-07-08 18:20:55 +02:00
Daniel J. Hofmann
b00b15ab98
Manual modernize run with LLVM 3.8
...
More is blocked by:
- https://github.com/Project-OSRM/osrm-backend/issues/2631
2016-07-07 12:45:24 +02:00
Moritz Kobitzsch
f4db79fe9b
fix obvious turn collapsing for straight turns
2016-07-06 10:50:47 +02:00
Moritz Kobitzsch
311b348d09
handle sliproads at traffic lights
2016-06-28 10:23:22 +02:00
Daniel Patterson
ec02cdc4cc
Use mmap instead of read - it's a lot faster here.
...
Also clean up construction of STRONG_TYPEDEF so that it can be
packed properly in structs (this explains all the () -> {}) changes
here.
2016-06-27 17:24:30 -07:00
Moritz Kobitzsch
5905708111
expose lanes as enums, adjusted for comments
2016-06-27 11:12:02 +02:00
Moritz Kobitzsch
5d91b759d1
Implement Turn Lane Api
2016-06-27 10:07:48 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Moritz Kobitzsch
4629a20fe4
improve handling of obvious for end-of-road situations
2016-06-24 12:05:42 +02:00
Patrick Niklaus
fddc19e98d
Fix regressed formating
2016-06-21 22:25:48 +02:00
Patrick Niklaus
93b6438cea
Fix fromTop and fromLeft calculation
2016-06-21 19:31:46 +02:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads
2016-06-21 16:56:57 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps
2016-06-21 00:47:43 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files
2016-06-20 22:45:40 +02:00
Moritz Kobitzsch
306744e5cb
fix roundabout-handling when name changes
2016-06-17 11:02:14 +02:00
Moritz Kobitzsch
47b19f209b
prefer obvious turn assignment over forks
2016-06-13 15:00:18 +02:00
Moritz Kobitzsch
2b5355edca
improve slipway handling to allow multiple styles of turn lanes / turn roads
2016-06-13 11:56:50 +02:00
Daniel J. Hofmann
033dc0a72d
Pre-allocate up-front whenever possible
2016-06-09 16:06:27 +02:00
Patrick Niklaus
1c140a112a
Make sure we also reserve space for destination and pronunciation
2016-06-08 10:58:11 +02:00
Moritz Kobitzsch
1dfdb38d4a
improve collapse-handling
2016-06-06 10:05:18 +02:00
Daniel J. Hofmann
6f322d2140
Silence multiline comment warning
2016-06-03 14:47:45 +02:00
Daniel J. Hofmann
448f8377fb
Sync with Clang38 Format
2016-06-02 13:14:33 +02:00
Daniel J. Hofmann
6edc565c01
Add destinations API feature
2016-06-02 12:00:23 +02:00
Moritz Kobitzsch
bdc66049a5
fix INVALID_NAME_ID vs INVALID_NAMEID -> EMPTY_NAMEID
2016-06-01 23:19:26 +02:00
Patrick Niklaus
0a53775fb3
Expose pronunciation in RouteStep
...
Uses name:pronunciation by default for cars.
2016-06-01 23:17:57 +02:00
Patrick Niklaus
6e16eab6ec
Format with clang-format 3.8
2016-05-27 21:05:04 +02:00
Daniel J. Hofmann
498370330d
String bulk insertion
2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
1418c0dbbc
Move ExtractionWays and ExtractionNodes into container to avoid copying
2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
bbc79dd49f
ExtractionContainers already owns its data
2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
8036320d94
Do not bind primitives per ref
2016-05-26 22:50:17 +02:00
Daniel Patterson
3d03797e53
Distinguish between offramps and sliproads.
2016-05-26 21:31:04 +02:00
Michael Krasnyk
b5225f07cb
Fix #2413 by converting enums to unsigned char constants
2016-05-23 18:33:24 +02:00
Moritz Kobitzsch
abed7690d0
fix continue on obvious
2016-05-23 17:55:30 +02:00
Dane Springmeyer
7649187095
workaround boostorg/numeric_conversion#4
2016-05-20 16:03:19 +02:00
Moritz Kobitzsch
9c8bf820de
adjusted to in/out. only emit one of them for depart/arrive
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
4d9aa65e78
intersection classes with variable degree of discretization
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
0f3942558f
version using discrete values stored directly at intersection
2016-05-19 16:43:46 +02:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification
2016-05-19 16:43:46 +02:00
Moritz Kobitzsch
a9f674497a
emit turn-straight for obvious turns where the main road continues
2016-05-18 19:54:53 +02:00
Patrick Niklaus
ddd128ce0e
Only use const-ref for coordinate vector
2016-05-07 23:52:11 +02:00
Daniel J. Hofmann
363d2145bd
Register a way's .nodes() function for use in the profile's way_function.
...
Can be used as in:
function way_function(way, result)
for node in way:get_nodes() do
local id = node:id()
io.write(">>> " .. id .. "\n")
end
-- ...
end
Warning: we do not use libosmium's location cache, therefore .location()
on the nodes will crash at runtime. Once we switch to using libosmium's
cache this should work. Until then, you can use the node id now.
2016-05-04 15:28:34 +02:00
Moritz Kobitzsch
6018fcf490
Introduce on_ramp and off_ramp, deprecate ramp
2016-05-04 12:09:54 +02:00
Lauren Budorick
d8acf76f2d
Fix wrong assertion size in CompressedEdgeContainer::GetLastEdgeSourceID
2016-05-03 21:50:27 +02:00
Moritz Kobitzsch
08248e3853
fix 2349
2016-05-03 21:14:31 +02:00
Moritz Kobitzsch
59168e21b4
remove unnecessary warnings, initialize correctly
2016-05-02 17:29:37 +02:00
Patrick Niklaus
d12a95b4ef
Fix naming convention of Percent
2016-05-02 17:25:58 +02:00
Patrick Niklaus
83482afa02
Fix naming conventions of TrajanSCC
2016-05-02 17:25:58 +02:00
Patrick Niklaus
e470d1ae1c
Fix naming convention in RasterSource
2016-05-02 17:25:58 +02:00
Lauren Budorick
b8f7569e93
Implement arbitrary turn penalty file IO and integration ( #2306 )
...
Closes #1830
2016-04-29 00:48:13 -07:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
Moritz Kobitzsch
1544a08ea2
introduce roundabout-turns into instruction set
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
3ac061c546
fix guidance issues / improve tests
2016-04-26 10:34:39 +02:00
Moritz Kobitzsch
e59a7926a2
roundabout for segregated entry roads
2016-04-26 01:01:09 +02:00
Moritz Kobitzsch
7b32d3184c
remove unused instruction types
2016-04-25 19:24:59 +02:00
Moritz Kobitzsch
d770c35245
refactor guidance
2016-04-25 19:24:59 +02:00
karenzshea
58c13d2c07
remove movable bridge travel mode references
2016-04-19 12:59:33 -04:00
Daniel Patterson
1c1f407f67
Fix formatting.
2016-04-14 14:39:20 -07:00
Daniel Patterson
8fb631417b
Abort processing if there are no snappable edges remaining.
2016-04-14 13:07:23 -07:00
Patrick Niklaus
589767fe6d
uturns -> continue_straight
2016-04-12 23:16:02 +02:00
Patrick Niklaus
1554916639
Include <iterator> for back_inserter
2016-04-12 18:11:08 +02:00
Patrick Niklaus
7416653874
Force correct type deduction for irange on windows
2016-04-12 18:11:08 +02:00
Daniel J. Hofmann
5dff83c6e9
Report progress for gennerating edge expanded edges in the edge based graph factory
2016-04-12 12:16:14 +02:00
Daniel Patterson
43725bae89
Fix Radius Calculation for points collinear in latidue
2016-04-12 11:25:59 +02:00
Moritz Kobitzsch
fcbf527ba5
refactor of turn analysis into turn handlers
2016-04-08 18:14:43 +02:00
Moritz Kobitzsch
fa0a5040e5
adding tests for guidance
2016-04-08 10:43:22 +02:00
Moritz Kobitzsch
f2443c64db
adds distinction between rotaries/rounabouts
2016-04-05 22:59:14 +02:00
Daniel Patterson
9b52dd8bf7
Remove leftover debug output.
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
89d56e1cd1
fix duration of direct connection
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
ef1fb08723
fix cucumber tests and issues
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
2219b6507c
correctly handle roundabouts in a wide set of special cases
2016-04-05 22:59:14 +02:00
Lauren Budorick
49e2cb6c36
Fix raster_source + tests
2016-04-05 22:59:14 +02:00
Lauren Budorick
e9be9dd8d0
Bind use_turn_restrictions to ProfileProperties in scripting environment
2016-04-05 22:59:14 +02:00
Patrick Niklaus
fda4656630
Implement re-enabling of PhantomNode directions after bearing filtering
2016-04-05 22:59:14 +02:00
Patrick Niklaus
38db495879
Address PR comments
...
Renamed lua_function_exists and removes unused print function
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a781c36876
Use uturn default from .properties file
2016-04-05 22:58:32 +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
Moritz Kobitzsch
253496c7ee
improves consistency of fork handling
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5c01878542
get_name_for_id -> GetNameForID
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
7bab34eeda
fix division by zero
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
0cc23dec6f
restructured to only return valid turns to the outside + cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
71c0d5253d
less new names, forks consider road classes, api clean-up
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
a674028c37
implement basic turn handling
2016-04-05 22:58:32 +02:00
Daniel Patterson
11b356e55f
Enables the use of multiple segment-speed-files on the osrm-contract
...
command line, and exposes the file name used for each edge in the debug
tiles.
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
d7dd6acd9d
fix merging of turn instructions
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b5739cb3d8
Include reverse edges again
2016-04-05 22:58:32 +02:00
Patrick Niklaus
ea93d56ca8
Formating and logging changes for turn classification
2016-04-05 22:58:32 +02:00
Patrick Niklaus
10097a946f
Handle case of dead-end edges by inserting an invalid turn
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
eb3f550e26
encapsulated into class
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
06aa6dedab
improving fork handling on three-way turns
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
f769478abe
fix comparison for ramps on three-way turns
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
0c276ac71e
fixes roundabout counting
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
9e95d1f1fd
fixes assignment for basic turn types / invalid ramp assignment
2016-04-05 22:58:32 +02:00
Patrick Niklaus
e00bda37a5
Add edge id assertions
2016-04-05 22:58:32 +02:00
Patrick Niklaus
e7ea5f500d
Don't pass shared_ptr down to functions
...
"Don’t pass a smart pointer as a function parameter unless you want to
use or manipulate the smart pointer itself, such as to share or transfer
ownership."
Source:
http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
aa4b786ab3
Hide functional road classification based on tags in implementation file
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
b47a532eb4
Fixes multi-line comment
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
7c30ea32bf
Runs scripts/format.sh
2016-04-05 22:58:32 +02:00
Patrick Niklaus
bb06e044f5
Fix coodinate include and unused warnings
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
01318a08b4
start of four way turns
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
119487f1aa
improved fork handling
2016-04-05 22:58:32 +02:00
Patrick Niklaus
911427a361
Fix crash on extracting Berlin in guidance
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
58628a4bfc
bugfixing/classification
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b08b360f38
Big Restructuring / Cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
adb8d0e845
starting on conflict resolution
2016-04-05 22:58:32 +02:00
Lauren Budorick
e0f009b3b9
Fixes for gcc compiling, temporary hacks to remove later
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
f1aa03c360
handle segregated roads (merge for turn analysis)
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
2ba417cf9f
structural changes, motorway handling
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
d8af074ff6
enter and exit roundabout feature - currently not showing turn
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
daf2bbf991
migrated out of edge based graph factory
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
ef1e0e14ec
advanced guidance on 5.0
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
Patrick Niklaus
d9d4742130
First round of lat,lng -> lng,lat switcheroo
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c70d138eb9
Spelling: Hierachy vs Hierarchy
2016-04-04 13:58:55 +02:00
bergwerkgis
d0636a9f6d
make AppVeyor work again
2016-03-31 16:49:30 +02:00
Patrick Niklaus
21245273b4
Also exclude the compressed flag from the data format
2016-03-24 21:24:08 +01:00
Daniel J. Hofmann
c78dff9a15
Write out unsigned with a check for edge counter overflow
2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
25fea558ba
Fixes the edge-based-graph factory's edge counter serialization.
...
The counter for original edges is of type `std::size_t`, but we
serialized `sizeof(unsigned)` number of bytes out to the `.osrm.edges`
file.
We should probably check all writes (analogous for reads) and make the
count parameter dependent on `sizeof(variable)`.
ag '\.write\((.*), sizeof\((.*)\)\);'
2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
ac0279aa83
RAII for auto-closing file streams
...
Small fixes I didn't want to include in unrelated PRs.
There are a few left in `storage.cpp` but since it's a single function
in 600 lines of code, I didn't want to touch the mess. The others are
safe to remove, cucumber and test run on Finland gives 👍 .
2016-03-09 17:46:02 +01:00
Patrick Niklaus
ae4161b780
Fix extraction in case of ways referencing invalid node ids
2016-03-08 20:59:11 +01:00
Patrick Niklaus
ac6218eef2
Simplify EBGF code
2016-03-04 16:37:25 +01:00
Patrick Niklaus
a98cc51ac2
Fix up some PR comments
2016-03-04 16:13:30 +01:00
Daniel Patterson
e595bdb20a
More cleanup.
2016-03-03 19:28:48 -08:00
Daniel Patterson
9bd2446901
Cleanup.
2016-03-03 19:27:36 -08:00
Daniel Patterson
27babfec3d
Add the uncompressible edges to the compressed edge container during the graph compressor run, rather than in the EdgeBasedGraphFactory. This keeps the logic a lot simpler to follow, although it's not quite as fast.
2016-03-03 18:48:39 -08:00
Daniel Patterson
49441fe204
Make forward/reverse weight/offset calculated at query time,
...
rather than being cached in the StaticRTree. This means we
can freely apply traffic data and not have stale values lying
around. It reduces the size of the RTree on disk, at the expense
of some additional data in RAM.
2016-03-03 10:49:12 -08:00
Daniel Patterson
53542abbb7
Disable compression across traffic lights. Previously, we merged the traffic light penalty into the edge weight. When later considering traffic data, we need to be able to update just the edge weight, and it was impossible to extricate the traffic penalty. This increases the number of edge-based-nodes a little bit, but some quick tests show it should only be about 0.1% overall (only affects traffic signals on edges with no intersections (i.e. degree=2))
2016-03-02 18:00:31 -08:00
Daniel Patterson
fc908d4687
Fix naming of variable so it's a lot less confusing.
2016-03-02 18:00:31 -08:00
Daniel J. Hofmann
aeee565115
Formats all the files we touch..
2016-03-01 23:51:25 +01:00
Daniel Patterson
56e35e8ef2
Remove GeoJSON based debugging output, we can now generate vector tiles with roughly the same data on-the-fly.
2016-03-01 23:51:25 +01:00
Daniel J. Hofmann
51ae14ec23
Extra ;
2016-03-01 16:43:34 +01:00
Daniel J. Hofmann
da88cb6a43
Extractor comments wrt. osrm-contract
2016-03-01 16:43:34 +01:00
Moritz Kobitzsch
2679c1cf0a
correct handling of travel modes
2016-02-16 01:35:04 +01:00
Moritz Kobitzsch
f14352f494
modify turn angles and instructions
2016-02-15 20:13:55 +01:00