Moritz Kobitzsch
388d84a89e
check for compatibility in post-processing ( #3227 )
2016-11-02 16:59:35 -06:00
Patrick Niklaus
b749d9bd2f
Address PR comments
2016-11-02 16:45:20 +00:00
Patrick Niklaus
8f00936790
Fix non-overlap logic for simplified geometries.
2016-11-02 16:45:20 +00: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
Denis Koronchik
5da63998d6
Add support of custom ServiceHandler
2016-10-31 15:38:03 +01:00
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Dane Springmeyer
a22e0fa62e
minor build fixes
...
- Travis: Upgrade clang from 3.8.0 to 3.8.1 (provides smaller package for faster downloading)
- Travis: Makes BUILD_COMPONENTS an option
- Followup after #3130 (Boost_LIBRARIES variable no longer exists)
2016-10-27 13:39:33 -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
Huyen Chau Nguyen
fe94977c9b
refactor loading code of .ramIndex files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
69a60686dc
refactor loading code of .datasource_indexes and .datasource_names files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
7b97e1035f
refactor loading code of .nodes and .edges files and move to io.hpp
2016-10-26 13:18:52 -07:00
karenzshea
c4f010e363
read properties stream to size of properties object, not 1
2016-10-26 13:18:52 -07:00
karenzshea
51ebadfc45
deduplicate code for loading profile properties into io.hpp
2016-10-26 13:18:52 -07:00
Daniel J. Hofmann
a933b5d949
Prevents the Matching getting confused when users are time-travelling.
2016-10-25 10:42:24 -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
karenzshea
fead71da54
add comment on find() [skip ci]
2016-10-21 14:23:02 -07:00
karenzshea
c26e90cac0
sort/unique turn penalty lookup
2016-10-21 14:23:02 -07:00
karenzshea
d4e5710928
parse turn penalties in parallel, add unique and sorting steps
2016-10-21 14:23:02 -07:00
Patrick Niklaus
b8795c7341
Rename increasingly inaccuratly named distance member of QueryEdge to weight
2016-10-21 21:00:02 +02:00
Moritz Kobitzsch
e3c2d4dddc
use-lane can occur in roundabouts as well
2016-10-20 14:28:33 -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
Moritz Kobitzsch
1f8ca2879f
fix u-turn collapsing onto empty name / in presence of turning use lane
2016-10-20 09:39:38 +02:00
Huyen Chau Nguyen
316ef305de
Refactor loading code for timestamp file
2016-10-19 17:26:21 -07:00
Daniel J. Hofmann
ab1a9271c8
Canonicalizes Spaces in Semicolon Stringlists, fixes #3086
2016-10-19 14:14:18 -07:00
Daniel J. Hofmann
18bc02f087
Collapses Double OSRM <-> Engine <-> .. PImpl Indirection, Resolves #3019 .
2016-10-19 13:42:08 -07:00
Moritz Kobitzsch
2a2abe9e0f
remove unused class DiscreteAngle
2016-10-19 21:40:45 +02:00
Patrick Niklaus
b7ee38eca7
Refactored loading code for .hsgr file
2016-10-19 19:59:23 +02:00
Patrick Niklaus
769485cc2f
Initilialize tbb task scheduler correctly. Thanks @oxidase!
2016-10-19 18:30:06 +02:00
Patrick Niklaus
8205c34abe
Fix duplicated code in tile plugin
2016-10-18 22:11:43 +02:00
Patrick Niklaus
81c5cba0e5
Recover from stale mutexes with force unlocking and retry
2016-10-18 21:58:50 +02:00
Patrick Niklaus
847f530c8e
Only keep reader lock on shared memory during queries.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
c69545c47a
Don't block all requests to switch data
...
This switchtes the data even if there are requests still running on the
old data. osrm-datastore then waits until all of these old requests have
finished before freeing the old regions.
This also means that osrm-datastore will return with an error if there
is a data update currenlty in progress.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
1557ff81bc
Simplify the locking logic
2016-10-18 21:58:50 +02:00
Patrick Niklaus
ebac9f586b
Adapt SharedMemory ownership changes from @oxidase
...
We don't leak any pointers anymore and make owning the shared memory
explicit.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
2512cf386d
Add better debug log output
2016-10-18 21:58:50 +02:00
Patrick Niklaus
ceaf362326
Make SharedDataFacade immutable
2016-10-18 21:58:50 +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
Daniel J. Hofmann
8ed6bb8a1b
Asserts on valid v5 conforming maneuver types, resolves #3035
2016-10-14 15:59:26 +02: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
karenzshea
ee012ae2da
valid tiles are >= z12
2016-10-12 10:03:43 -04:00
Daniel J. Hofmann
32dcce88f7
Fixes missing memory include for make_unique; reported in #3018 .
...
https://github.com/Project-OSRM/osrm-backend/issues/3018#issuecomment-253118518
2016-10-12 12:55:05 +02:00
Moritz Kobitzsch
6cf99c886f
don't emit invalid on sliproads with incompatible modes
2016-10-11 10:59:10 +02:00
Patrick Niklaus
240a7696da
Catch boost bad_numeric_cast exception and let parser return an error
2016-10-11 00:04:53 +02:00
Patrick Niklaus
9eb7fc03ce
Use a shared (!) reader writer lock to protect CURRENT_REGIONS
...
This fixes issue #3016 .
2016-10-10 12:13:45 +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
jakepruitt
49a28b478c
Remove TODO - tiles are tested and seem to work
2016-10-06 10:09:57 -07: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
Patrick Niklaus
1c2ead8fb8
Make DataFacade local to every request
...
This is the first step to having fine grained locking on data updates,
see issue #2570 .
2016-10-06 12:56:38 +02:00
Moritz Kobitzsch
66f2cc5184
fix detection of forks in present of oneways
2016-10-05 17:49:54 +02:00
Daniel J. Hofmann
d17eacc52b
Makes the OSRM interface threadsafe.
...
Technically speaking we're changing the `libosrm` API.
But since we're only lifting restrictions by marking the API threadsafe,
we should be fine here.
2016-10-04 09:32:22 +02:00
Moritz Kobitzsch
d1f1358e48
adjust for comments by daniel-j-h
2016-09-30 17:27:14 +02:00
Daniel Patterson
805d93912d
Construct an adjacency list in order to discover turns.
2016-09-30 17:12:23 +02:00
Daniel Patterson
3dd7732ffc
Add code comments and document some magic constants.
2016-09-30 17:12:22 +02:00
Daniel Patterson
c8eb2b2d11
Refactor edge unpacking so that it's CH indepenent and we don't repeat ourselves so much.
2016-09-30 17:12:22 +02:00
Lauren Budorick
14e7460465
Include turn information in debug tiles.
2016-09-30 17:12:20 +02:00
Moritz Kobitzsch
a824e64682
Merge branch 'master' into guido/notification
2016-09-29 16:03:44 +02:00
Moritz Kobitzsch
78d530ddae
fix polyline decoding
2016-09-29 11:56:51 +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
karenzshea
3d5a53566c
implement flag edge-weight-updates-over-factor, to log edge weight
...
updates over provided x factor
2016-09-28 15:19:59 +02:00
Daniel J. Hofmann
d1f555dcef
Removes unused JSON logger.
...
References:
- https://github.com/Project-OSRM/osrm-backend/pull/2769
2016-09-28 10:01: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
Daniel J. Hofmann
bf2b1a64b9
Fixes sign mismatch in Nearest limit comparison
2016-09-16 15:40:05 +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
861314256e
fix roundabout-intersection on immediate exit
2016-09-13 19:16:45 +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
e3c1b133bf
Adds a limit for number of results returned in Nearest service, resolves #2872
2016-09-12 11:59:08 +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
938dff011f
handle all our new strings correctly, introduce rotary_pronunciation
2016-09-07 16:09:13 +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
Daniel J. Hofmann
af47252efe
Do not collapse away lane information as long as it is necessary
2016-09-07 12:17:00 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
97c66c6c82
added some concerns regarding the angles/length of the turns
2016-09-06 09:57:33 +02:00
Daniel J. Hofmann
733207d4a1
Be more strict classifying staggered intersections, resolves #2824
2016-09-06 09:57:33 +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
7a523713c7
remove broken assertion
2016-09-05 15:06:56 +02:00
Moritz Kobitzsch
b1b41435b6
Revert "make sure collapse only happens on valid indices"
...
This reverts commit 47a6cd5462
.
2016-09-05 14:54:30 +02:00
Moritz Kobitzsch
5d79e0ac2f
catch infinite loops
2016-09-05 14:52:13 +02:00
Moritz Kobitzsch
47a6cd5462
make sure collapse only happens on valid indices
2016-09-05 12:41:33 +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
Patrick Niklaus
2f6de614c1
Ignore any following columns in a CSV file
2016-08-18 10:19:36 +02:00
Patrick Niklaus
41b22916f3
Merge pull request #2756 from gojuno/turn_annotation_bugfix
...
JSON instruction serialization fix.
2016-08-12 19:14:47 +02:00
Lev Dragunov
89f1071947
Static checks for guidance array sizes.
2016-08-12 18:52:54 +03:00
Moritz Kobitzsch
464de785cb
fix removal of multiple geometries for first vertex
2016-08-09 12:02:07 +02:00
Lev Dragunov
8986777c58
JSON instruction serialization fix.
2016-08-08 20:32:01 +03: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
Daniel J. Hofmann
b1e309b4eb
Collapse Staggered Intersections.
...
Staggered intersection are very short zig-zags of only a few meters.
They are common in rural and exurban areas, especially in the US.
(In addition, these cases could as well be tagging issues)
We do not want to announce these short left-rights or right-lefts:
* -> b a -> *
| or | becomes a -> b
a -> * * -> b
Here is one example:
- https://www.openstreetmap.org/edit#map=20/39.26017/-84.25182
And here are two edge-cases that we don't handle at the moment:
- http://www.openstreetmap.org/edit#map=20/38.87900/-76.98519
- http://www.openstreetmap.org/edit#map=19/45.51056/-122.63462
and probably should not handle since the distance in between is
quite long (roughly 7-15 meters). For these we want to announce
two turns to not confuse the user.
Thanks to @1ec5 for raising this issue and @karenzshea for
providing additional US examples and cultural insights.
2016-08-05 14:35:13 +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
7f71f0ed12
Warn on unused return values in guidance code, resolves #2686 .
...
https://github.com/Project-OSRM/osrm-backend/pull/2685/files
fixes an issue where we did
elongate(fstStep, sndStep);
instead of
newStep = elongate(fstStep, sndStep);
we didn't get any warnings.
The only way to trigger a warning here is to use
```cpp
__attribute__((warn_unused_result))
```
This changeset does exactly that: for the new guidance code prone to
these kind of issue we add such an attribute to the declaration.
2016-08-03 12:26:07 +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
Daniel Patterson
d012b44b7f
Filter out edges that have any speed=0 segments.
...
They become non-snappable and non-routable. Note that a single segment
of speed=0 will eliminate the entire edge.
2016-07-30 23:53:38 +02:00
Patrick Niklaus
63c86198a3
Fix compilation of components.cpp
2016-07-30 23:49:35 +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
Daniel Patterson
280b000f07
Include datasources for each segment in route annotation.
2016-07-27 15:51:11 -07:00
Daniel J. Hofmann
fb4834458e
No longer hard crash datastore on unrecognised options
2016-07-27 11:33:56 +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
Patrick Niklaus
e83905b783
Fix exception handling around unrecognised options
2016-07-26 11:43:08 +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
Daniel J. Hofmann
748fd3efa9
Remove lanes from roundabouts, closes #2626
...
After half a day of looking at the tagging and the data came to the
following conclusion:
We can't keep the user to the innermost / outermost lanes depending on
the exit the route takes: we found situations where both heuristics were
wrong.
Even on popular roundabouts the tagging is often wrong or in the best
case not present at all.
There are at least two different ways to interpret roundabout
indications: 1/ where e.g. a right arrow on the lane indicates turn
restrictions for the roundabout and the need to take this lane to exit
the roundabout to the right (possibly skipping multiple exits) and 2/
where a right arrow just means this is a lane in a immediate right turn.
Example: Australia marks lanes with arrows that seem to indicate
"angles you can exit the roundabout from", for example, these two ways:
- http://www.openstreetmap.org/way/320941710
- http://www.openstreetmap.org/way/42918021
Whereas Germany marks lanes with "directions you can travel in these
lanes immediately after entering the roundabout":
- http://www.openstreetmap.org/way/52578338
These two different interpretations of how to draw the arrows on the
roads mean we have conflicting solutions to "which lanes can you use to
take exit B from entry A" based on locality.
Continuing to tag ways based on lane markings is no problem, but
unfortunately, we can't reliably resolve good advice for navigation
system users (like "use the inside lane to take the second exit at the
roundabout"), there are too many situations that would generate bad
instructions (instructions that tell users to go into a lane they
shouldn't use).
2016-07-25 19:29:55 +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
Patrick Niklaus
060ec99678
Fix devide by zero when updating speeds
2016-07-21 18:57:21 +02:00
Moritz Kobitzsch
41ba20ca9a
switch api format to new structure
2016-07-21 17:42:10 +02:00
Moritz Kobitzsch
b25011ee60
fix use-lane handling
2016-07-21 16:37:54 +02:00
Moritz Kobitzsch
0e017a6ce5
collapse use-lane instructions if possible
2016-07-20 10:23:26 +02:00
Moritz Kobitzsch
2431e15ffa
mark second case as todo, see https://github.com/Project-OSRM/osrm-backend/issues/2661
2016-07-20 09:55:30 +02:00
Moritz Kobitzsch
396add1e9d
make roundabout maneuvers continuous with respect to lane changes
2016-07-20 09:55:30 +02:00
Moritz Kobitzsch
ee47afbe17
fix 2672
2016-07-19 17:06:47 +02:00
Moritz Kobitzsch
8831ca2f32
fix roundabouts with traffic lights
2016-07-19 14:49:09 +02:00
Daniel J. Hofmann
abde215bc3
Remove semantically wrong ordering for LaneTupel
2016-07-18 12:33:56 +02:00
Daniel J. Hofmann
130d5298fc
Fixes Undefined Behavior in LaneTupel (Strict Aliasing), resolves 2665
...
It's complicated :sigh: read this please:
http://dbp-consulting.com/tutorials/StrictAliasing.html
tl;dr: has to go through a memcpy (in C++) as in:
184cc11cee/src/support/utilities.h (L29-L40)
2016-07-18 12:32:25 +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
Daniel J. Hofmann
e76e39a398
Improves Lane Handling for Multi-Hop Roundabout Instruction
...
This changeset implements Lane Anticipation on roundabouts, delimited
by enter / leave step pairs. It does not handle lane anticipation
within a roundabout.
Lane anticipation happens on the granularity of a valid roundbaout:
We discard partial roundabout (enter without exit or exit without
enter) or data issues (no roundabout, exit before enter).
Related:
- https://github.com/Project-OSRM/osrm-backend/issues/2626 for lanes
within a roundabout
- https://github.com/Project-OSRM/osrm-backend/issues/2625 for handling
going straight in lane anticipation
2016-07-13 10:44:12 +02:00
Patrick Niklaus
04667f1ed8
Log incoming requests before they are processed
2016-07-11 16:50:09 +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
043a1446e1
adjust changelog (mention both files) and update a typo
2016-06-30 10:39:05 +02:00
Moritz Kobitzsch
6265b8fa77
fix broken assertion
2016-06-28 10:30:02 +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
Daniel J. Hofmann
ec0a1a4ab1
Anticipate Lane Changes
2016-06-27 10:07:43 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Moritz Kobitzsch
2a05b70dfc
reduce number of end-of-road instructions in unnecessary cases
2016-06-26 16:40:15 +02:00
Moritz Kobitzsch
e03d132823
fix invalid circle centers
2016-06-24 15:12:51 +02:00
Moritz Kobitzsch
4629a20fe4
improve handling of obvious for end-of-road situations
2016-06-24 12:05:42 +02:00
Daniel J. Hofmann
df877aca1b
Hard-abort on assertion and show detailed information, solves #2579
...
From
> [warn} oops
to
> [assert] /tmp/osrm-backend/src/extractor/extractor.cpp:79
> in: int osrm::extractor::Extractor::run(): false
> terminate called without an active exception
2016-06-23 18:57:35 +02:00
Daniel Patterson
6dedd9cb72
Fix segfault when route includes very short segments.
2016-06-22 14:48:57 -07: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
Daniel J. Hofmann
f6746d88b7
Removes unused -s from osrm-datastore, use osrm-springclean tool, closes #2561
2016-06-21 18:09:11 +02:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads
2016-06-21 16:56:57 +02:00
Michael Krasnyk
8c378191df
Fix omitting the last point's coordinates in the geometry field
2016-06-21 07:06:43 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps
2016-06-21 00:47:43 +02:00
Michael Krasnyk
04e334e3e2
Make storage blocks aligned to 4 bytes for ARM NEON/VFP instructions
...
Aligned blocks prevent bus errors in NEON/VFP instructions.
Block pointers are aligned to 4 bytes, that is guaranteed
by aligned mmaped-pointers, the 4 bytes size of the CANARY block and
aligned sizes of blocks.
2016-06-20 22:45:40 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files
2016-06-20 22:45:40 +02:00
Michael Krasnyk
3881ead8e5
Fix rounding issue due to non-associative floating arithmetic
...
Failing test
features/car/traffic_turn_penalties.feature:33
Tables were not identical:
from | to | route | speed | time
| a | h | ad,dhk,dhk | 63 km/h | 11.5s +-1 |
| i | g | fim,fg,fg | 59 km/h | 12s +-1 |
| (-) a | (-) e | (-) ad,de,de | (-) 57 km/h | (-) 12.5s +-1 |
| (+) a | (+) e | (+) ad,de,de | (+) 58 km/h | (+) 12.5s +-1 |
| c | g | cd,de,ef,fg,fg | 63 km/h | 23s +-1 |
| p | g | mp,fim,fg,fg | 61 km/h | 23.5s +-1 |
| a | l | ad,dhk,kl,kl | 60 km/h | 24s +-1 |
| l | e | kl,dhk,de,de | 59 km/h | 24.5s +-1 |
| g | n | fg,fim,mn,mn | 57 km/h | 25s +-1 |
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
3ca32898a1
move guidance decision into debug header
2016-06-15 11:30:30 +02:00
Daniel Patterson
494845b160
Copy data to beginning of buffer, not end. ( #2542 )
...
Copy data to beginning of buffer, not end.
2016-06-13 12:59:42 -07:00
Patrick Niklaus
0fc823041e
Removed debug code
2016-06-13 17:57:33 +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
Patrick Niklaus
e9a0beb4e8
Fix shared memory encoding for node-ids
2016-06-12 20:50:57 +02:00
Vladimir Kurchatkin
6bdfe68897
Add feature name to vector tiles ( #2488 )
2016-06-10 11:15:14 -07: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
312e86eb58
handle merge on collapsed instructions
2016-06-06 11:55:14 +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
801cc72691
Sync with Clang38 Format
2016-06-02 14:43:27 +02:00
Lauren Budorick
058b8c3b31
Template vector
2016-06-02 14:27:25 +02:00
Lauren Budorick
ae3ccb009e
Formatting [ci skip]
2016-06-02 14:27:25 +02:00
Lauren Budorick
44fdf86702
IT WORKS
2016-06-02 14:27:25 +02:00
Lauren Budorick
a4ac07866a
Recreate feature/expose_node_ids
2016-06-02 14:27:25 +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
Daniel J. Hofmann
503137221d
Let osrm-routed log status code, fixes #512 .
...
Disclaimer: osrm-routed is not recommended for production usage.
Use node-osrm instead: https://github.com/Project-OSRM/node-osrm
2016-05-31 14:44:50 +02:00
Patrick Niklaus
cd30f370b8
Remove the use of atomics and use thread-local accumulation instead
2016-05-29 00:06:18 +02:00
Dane Springmeyer
4ae8abe6a3
run clang-format [skip ci]
2016-05-27 22:35:17 +02:00
Dane Springmeyer
82bfd4ee40
fix compile with clang-3.5
2016-05-27 22:35:17 +02:00
Patrick Niklaus
6e16eab6ec
Format with clang-format 3.8
2016-05-27 21:05:04 +02:00
Patrick Niklaus
d6de2ca71c
Really place annotations in RouteLeg and not Route
2016-05-27 16:46:28 +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
Patrick Niklaus
baf8e4784b
Transfer match benchmark to own binary
2016-05-26 20:25:33 +02:00
Moritz Kobitzsch
d53350b263
be more verbose on broken configs
2016-05-26 20:04:24 +02:00
Moritz Kobitzsch
797f2a196b
handle intersection-access for roundabout correctly
2016-05-26 16:25:26 +02:00
Freenerd
a21fd2ea18
Contractor: log stats for loaded speed files
2016-05-24 14:35:16 -04:00
Daniel Patterson
0587c5f5c4
Trim datasource names before writing to datafile.
2016-05-24 15:20:14 +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
Mathias Gug
e5b713841a
Fix style.
2016-05-20 12:47:47 -07:00
Mathias Gug
1635f7351d
Support environment variable to disable http requests logging.
2016-05-20 12:47:47 -07:00
Daniel J. Hofmann
ce5ae411c1
Resurrect Flat Map + Binary Search commit from PR 2412
2016-05-20 20:43:45 +02:00
Patrick Niklaus
d1bc32fb31
Add comments and debug code
2016-05-20 18:52:29 +02:00
Patrick Niklaus
f9f87f25d4
Use elogate() to fixup geometry when merging steps, fixes #2424
2016-05-20 18:52:29 +02:00
Dane Springmeyer
7649187095
workaround boostorg/numeric_conversion#4
2016-05-20 16:03:19 +02:00
Patrick Niklaus
57321979ae
Remove leftover debugging code
2016-05-19 16:44:31 +02:00
Patrick Niklaus
95af72c70c
Make intersection backwards compatible
...
For `depart` and `arrive` `step.intersections[0].{bearings|entry}` will have
only one entry.
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
98fe0badbe
fix loading in storage
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
44b841a25d
fix storage
2016-05-19 16:44:31 +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
Daniel J. Hofmann
6aa97048df
Rip out custom CSV parser code and its third_party dependency
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
d9a5c79ea6
Map leaf nodes to RAM and iterate over them potentially in parallel
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
9d7714c714
Make looping through all leaf nodes less confusing
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
8291be375a
Expose concurrency in saving files
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
0a73737f69
Fold parsing and data loading in concurrently executing action
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
2fd1b6c913
Expose concurrency between intern/external node map and geometries
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
ea38a1d880
Parse multiple files concurrently
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
f576e13c51
Concurrent lookup hashtables
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
ee7bb8731a
Expose concurrency between segment speeds and turn penalties
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
da0c3ff394
Refactor edge weight parsing code
2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
6ae559b42b
Throw error if edge based graph file could not be loaded
2016-05-19 00:01:54 +02:00
Mathias Gug
b5ffb51e18
Signal the parent process when we're ready to serve requests.
...
This can be used for a hot reload of the process binary. The supervising
process can be told when the new process is ready to serve requests.
2016-05-18 23:59:52 +02:00
Moritz Kobitzsch
a9f674497a
emit turn-straight for obvious turns where the main road continues
2016-05-18 19:54:53 +02:00
Daniel Patterson
fa525ad610
Return an array with meta-data for each coordinate.
...
Currently supports duration and distance for each coordinate.
This is particularly useful in map-matching, comparing how
a trip progresses compared to a real GPS trace that is
map-matched.
2016-05-12 01:11:09 +02:00
Patrick Niklaus
c520c7a24a
Fix rtree benchmark
2016-05-07 23:52:11 +02:00
Patrick Niklaus
ddd128ce0e
Only use const-ref for coordinate vector
2016-05-07 23:52:11 +02:00
Michael Krasnyk
2acde49f0f
Make LeafNode aligned to memory pages.
...
Changes:
* LeafNode is aligned to LEAF_PAGE_SIZE.
Alignment brings 24 bytes memory overhead for 4096, but reduces
cache misses rate.
* Unused m_element_count from leaf nodes file.
The size is computed as m_leaves_region.size() / LEAF_PAGE_SIZE.
* Added try/catch for mmap exceptions messages.
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
Moritz Kobitzsch
1e6888c0d3
fix new-name on empty strings
2016-05-04 10:52:55 +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
Patrick Niklaus
a4f1dc536d
Trip plugin does not have a continue_straight parameter, use false
2016-05-03 21:13:22 +02:00
Daniel J. Hofmann
5517ee334f
Remove typename prefix from non-dependent type alias
...
I think VS is predantic but actually right here.
References:
- http://eel.is/c++draft/namespace.udecl#19
2016-05-03 12:00:40 +02:00
Patrick Niklaus
206bdff9e7
Inline and vectorize haversine for GetPathDistance
2016-05-02 19:53:42 +02:00
Patrick Niklaus
c32270b2b8
Make projectOnLine inline-able
2016-05-02 19:53:05 +02:00
Patrick Niklaus
cc03402570
Use pass-by-copy for Coordinate
2016-05-02 19:51:32 +02:00
Patrick Niklaus
21a76f1867
Move coordinate constructors to header to enable inlining
2016-05-02 19:50:52 +02:00
Patrick Niklaus
212ad94c90
x2 speedup in Douglas Peucker by projecting all coordinates first
2016-05-02 19:50:33 +02:00
Patrick Niklaus
378d9f4112
Remove debug ouput from post-processing
2016-05-02 19:47:59 +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
Patrick Niklaus
5ce465ce23
Remove extra ; in PostProcessing
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
Patrick Niklaus
930f6df2cb
Fixes #2335 , map matching was using shortest path with uturns disabled
2016-04-28 12:02:31 +02:00
Michael Krasnyk
5186b9490d
Fix syntax error position indicators in parameters queries
...
To fix #2193 prefix_length member variable has been added to ParsedURL
that is set to the length of "/service/version/profile/" prefix
when the prefix is accepted by the parser.
Also BOOST_FUSION_ADAPT_STRUCT for osrm::server::api::ParsedURL
has been moved from header to url_parser.cpp to speed up compilation
of CUs that do not use the fusion adaption.
2016-04-27 19:52:23 +02:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
Moritz Kobitzsch
fddb035539
suppress name additions (xxx -> xxxbridge)
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
1544a08ea2
introduce roundabout-turns into instruction set
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
c5e1742150
fix post-processing for local paths, fixes #2310
2016-04-26 13:15:46 +02:00
Moritz Kobitzsch
754bc2d274
handle combined turns at segregated roads
2016-04-26 13:13:20 +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
Daniel J. Hofmann
e04baef3bb
Do not copy geometries in loop
2016-04-25 12:12:32 +02:00
Michael Krasnyk
dac2f93383
Refactoring of parameter garammars
...
* signature changed from void() to void(engine::api::Parameters&)
* performance increase due to use "static const GrammarT" and avoid
construction and destruction of grammars during parsing
* removed code duplication in inherited grammars
* rule unlimited changed to qi::lit
* added rule size_t_
* parser accepts "&geometries=" and "&overview=" and fails at "foo"
instead of "&geometries=foo" and &overview=foo
* added expectations checks for derived grammars
* changed rules qi::list(".") to character rules '.'
2016-04-23 21:15:21 +02:00
Patrick Niklaus
da6dbd2159
Revert "Removes summary from legs property"
...
This adds the summary back to the RouteLeg, it now depends on if
`steps=true`.
This reverts commit eaf9993dd9
.
2016-04-21 22:39:16 +02:00
karenzshea
58c13d2c07
remove movable bridge travel mode references
2016-04-19 12:59:33 -04:00
Patrick Niklaus
6979763292
Refactor the vector tile constants
2016-04-15 14:48:21 +02: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
2f7b02c96f
Fix std::min
2016-04-12 18:11:08 +02:00
Patrick Niklaus
1554916639
Include <iterator> for back_inserter
2016-04-12 18:11:08 +02:00
Patrick Niklaus
dbd4ecf89b
Remove boost::irange
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
Patrick Niklaus
5052c4ae3a
Move projection function into own header and inline
2016-04-09 17:31:36 +02:00
Patrick Niklaus
4886d46d91
Use DouglasPeucker with squaredEuclideanDistance
2016-04-09 17:26:27 +02:00
Patrick Niklaus
68ee4eab61
Switch squaredEuclideanDistance to uint64_t
2016-04-09 01:38:22 +02:00
Patrick Niklaus
fa6d4ac0bc
Add faster version of WGS84 -> Web Mercator
2016-04-09 01:38:22 +02:00
Daniel J. Hofmann
8a2bd09fd0
Adapts all grammars to use expectation parsers without backtracking.
...
Sequence parsers using `>>` allow for backtracking, expectation parsers
`>` do not. This allows us to properly report the position where parsing
failed, by catching the expectation_failure exception and adapting the
iterator ourselves.
References:
- https://github.com/Project-OSRM/osrm-backend/pull/2188
- https://github.com/Project-OSRM/osrm-backend/issues/2168
- http://www.boost.org/doc/libs/1_55_0/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
996a27dbd1
Report position where parsing failed; resolves #2168
2016-04-08 21:03:50 +02:00
Michael Krasnyk
cae06ba2c1
Fix type "osrm::server::api::ParsedURL ()"
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
221f70ac7b
Synthesize parser only once from DSL: static storage duration
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
d3dbca374d
Do not modify the end iterator for parameter parsing, too
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
6f0b6a8158
Re-factor URL parser: make grammar stateless
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
d27025003a
Do not move from references in grammar handlers
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
66eb90d9d0
Adapts move(*optional) to *move(optional) to get rvalue operator* overload
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
6a81a9d191
Extra semicolon
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
64cb134113
Align Spirit rules for URL parser
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
891ff7dd80
Do not modify the end iterator, make const
2016-04-08 21:03:50 +02:00
Moritz Kobitzsch
fcbf527ba5
refactor of turn analysis into turn handlers
2016-04-08 18:14:43 +02:00
Moritz Kobitzsch
dfd180a292
fixing unit tests
2016-04-08 11:21:14 +02:00
Moritz Kobitzsch
fa0a5040e5
adding tests for guidance
2016-04-08 10:43:22 +02:00
Patrick Niklaus
dea12779cf
basename -> filename, fixes #2027
2016-04-08 01:50:25 +02:00
Moritz Kobitzsch
4d864b8267
fix warnings in compilation on clang
2016-04-06 18:44:42 +02:00
Daniel J. Hofmann
a516245c94
Modularize benchmarks subproject
2016-04-06 18:36:08 +02:00
Moritz Kobitzsch
f2443c64db
adds distinction between rotaries/rounabouts
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
eaf9993dd9
Removes summary from legs property
2016-04-05 22:59:14 +02:00
Patrick Niklaus
849baea544
Fix uturn detection in match plugin
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
59f5e364c1
Suppress pedantic ISO C++ warning about argv[0] size check
2016-04-05 22:59:14 +02:00
Daniel Patterson
9b52dd8bf7
Remove leftover debug output.
2016-04-05 22:59:14 +02:00
Daniel Patterson
2cf19010e3
Fix context returned in JSON error (had null bytes).
...
Update status test cases to match new API.
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
Patrick Niklaus
f45daad6ca
Fix code of InternalError
2016-04-05 22:59:14 +02:00
Daniel Patterson
97722adbfa
Adjust threshold when trimming steps (needs to be bigger).
...
Also, when trimming the last step, we need to copy name values from the new next-to-last step, otherwise
we can still end up with an arrive step on a different road to the last maneuver.
2016-04-05 22:59:14 +02:00
Patrick Niklaus
2c4ba90abb
Remove leftover hello_world and timestamp plugins
2016-04-05 22:59:14 +02:00
Patrick Niklaus
30a9bc3179
Fix mathematical assumptions in StaticRTree
...
StaticRTree now uses projected coordinates internally. That means we can
use a euclidean distance measure (squared distance) for sorting the
query queue.
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
f9350a276c
fix same segment routes
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
cd9addf0e2
Removed debug code
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
Daniel J. Hofmann
09931d7ad8
Removes server-side support for POST requests.
2016-04-05 22:59:14 +02:00
Lauren Budorick
49e2cb6c36
Fix raster_source + tests
2016-04-05 22:59:14 +02:00
Patrick Niklaus
5c8b7542d0
Fix staticrtree benchmark
2016-04-05 22:59:14 +02:00
karenzshea
c726001a0e
console error which files are missing for osrm-routed
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
Moritz Kobitzsch
5e6d638c6f
perform zero-length segment removal
2016-04-05 22:59:14 +02:00
Daniel Patterson
cc09df1961
Use correct perpendicular distance measure when simplifying line geometries.
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
5829bbe22d
Move Centroid to coordinate_calculation
2016-04-05 22:59:14 +02:00
Patrick Niklaus
f4cfde719d
Round integers to remove fake precision
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
51d153a5f7
Fixes integer overflow due to fixed / floating mismatch in coordinate interpolation
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
61c9c69718
Make unit tests compile again after rebasing
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
5beaab97da
Make Tile plugin validate its parameters, fixes #2109
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
843a4b8eae
Make Route plugin validate its parameters
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
9ec46222e3
Makes Nearest plugin adhere to v5 spec for precondition violations, fixes #2108
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
224c66e0dc
Makes table plugin adhere to v5 spec for limit violations, fixes #2100
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
1486098065
Adapts all unit tests and benchmarks to compile under v5 again
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3c5f6bd8ac
Makes hint Equatable and Printable for tests
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
b6b59e5c08
Make Hint encoding safe for passing them as GET parameter in URLs
...
Thanks @TheMarex for flagging this!
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
a7aa27c87c
Completely re-write base64 logic, make API suck less in doing so
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
f948380fa2
Object Encoder -> Base64, kill false dependencies while doing so
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
79cf1880fc
Adapts Hint encoding and decoding to new fixed data facade
2016-04-05 22:58:32 +02:00
Patrick Niklaus
ec1a84c57a
Always safe the absolute path to .fileIndex
2016-04-05 22:58:32 +02:00
Aleksei Potov
419cf9e2b0
compilation error on debian jessie with boost 1.54
2016-04-05 22:58:32 +02:00
Daniel Patterson
95c78eac9c
Fix boost geometry constructor.
...
Versions older than 1.58 don't support the initializer-list form.
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
51a4cf5e46
syncronize geometry and steps after post-processing
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
2472c5d6a1
added list of intersections to the step-maneuver, not in api so far
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
59fbb289b9
fix initial maneuvers
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
e82bc20422
post processing moved onto route-steps, looses sync with geometry segments
2016-04-05 22:58:32 +02:00
Patrick Niklaus
1e753e98ce
Simplify the timestamp handling
2016-04-05 22:58:32 +02:00
Patrick Niklaus
39b3cab1da
Check all streams
2016-04-05 22:58:32 +02:00
Patrick Niklaus
87fbfc6475
std::string -> boost::filesystem::path
2016-04-05 22:58:32 +02:00
Patrick Niklaus
cb8bfa027e
Only allow to specify the common base path
2016-04-05 22:58:32 +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
Patrick Niklaus
e10e8910f3
Use global uturns parameter.
...
Instead of previously per-via settings like uturns=true;false;true;; it
now only supports a global setting uturns=true.
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
253496c7ee
improves consistency of fork handling
2016-04-05 22:58:32 +02:00
Daniel Patterson
663a7c52c7
Properly clip lines so that we don't get crazy coords with long linestrings (relative to tile coords)
2016-04-05 22:58:32 +02:00
Daniel Patterson
4e8ccd6f7d
Include edge duration information.
2016-04-05 22:58:32 +02:00
Patrick Niklaus
879ccfc8c2
Implement viewport code to fix simplification
...
This fixes #2083
2016-04-05 22:58:32 +02:00
Patrick Niklaus
50738f8ce0
Consolidate math functions
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
Patrick Niklaus
4309ccfa02
Don't sum up durations of merged steps since we do that in a different place now
2016-04-05 22:58:32 +02:00
Patrick Niklaus
8218d5a47e
Limit zoomlevel to 18
2016-04-05 22:58:32 +02:00
Patrick Niklaus
4bbb587280
Fix shared memory
2016-04-05 22:58:32 +02:00