Patrick Niklaus
6cb401b1ff
Run clang-format
2017-03-08 00:56:50 +00:00
Patrick Niklaus
00d01946cd
Moved MultiLevelPartition and CellStorage to partition namespace
2017-03-08 00:56:50 +00:00
Patrick Niklaus
694bf9d8b1
Integrate CellStorage into datafacade
2017-03-08 00:56:50 +00:00
Patrick Niklaus
ef71cc0d12
Clang format
2017-03-08 00:56:50 +00:00
Patrick Niklaus
108fce896b
Pull everthing in the facades
2017-03-08 00:56:50 +00:00
Michael Krasnyk
ff0a98196f
Initial interation on writing out MLD partition/cell data
2017-03-08 00:56:50 +00:00
Patrick Niklaus
757e7ca936
First step towards mld integration
2017-03-08 00:56:50 +00:00
Patrick Niklaus
93cdd8bb46
Remove unneccessar branch in CoreCH code
2017-03-03 16:02:12 +00:00
Patrick Niklaus
c2a5cc034a
Fix formating
2017-03-03 16:02:12 +00:00
Patrick Niklaus
ed00965d18
Add algorithm selection
2017-03-03 16:02:12 +00:00
Patrick Niklaus
3f485ac09b
Addressed PR comments by @daniel-j-h and @oxidase
2017-03-03 16:02:12 +00:00
Patrick Niklaus
a901bda41e
Fix algorithm compability check logic
2017-03-03 16:02:12 +00:00
Patrick Niklaus
0ac1f99f9c
Fix bug in refactor
2017-03-03 16:02:12 +00:00
Patrick Niklaus
30ff0fa977
Refactor routeStep
2017-03-03 16:02:12 +00:00
Patrick Niklaus
7da86b5984
Implement CoreCH algorithm
2017-03-03 16:02:12 +00:00
Patrick Niklaus
922e155763
Add type traits to disable plugins for specific algorithms
2017-03-03 16:02:12 +00:00
Patrick Niklaus
436b34ffea
Refactor routing_algorithms to only contain free functions
2017-03-03 16:02:12 +00:00
Patrick Niklaus
2fa8d0f534
Port OSRM, Engine and Datafacades to be algorithm aware
2017-03-03 16:02:12 +00:00
Michael Krasnyk
71e95c92b6
Fix incorrect forward datasources getter in facade
2017-03-03 10:52:34 +00:00
Moritz Kobitzsch
d56db500d3
Initial Skeleton for Recursive Bisection via Inertial Flow
2017-03-01 16:09:29 +00:00
Lev Dragunov
f7b8e06c3a
Matching alternatives count output. #3508
2017-03-01 01:29:00 +00:00
Moritz Kobitzsch
6c3390f14d
refactor of post-processing
...
- moves collapse into a dedicated set of functions / files
- make collapse scenarios distinct (slight performance cost)
- reduce verbosity for short name segments (now actually working, was supposed to do so before)
2017-02-25 12:17:22 +00:00
Michael Krasnyk
4161181a6c
revert watchdog singleton
2017-02-24 16:01:56 +00:00
Michael Krasnyk
82acd59a8e
shared monitor implementation with a conditional variable
...
or a ring buffer with semaphores
2017-02-24 16:01:56 +00:00
karenzshea
046d3128c4
clamp speed value to js max
2017-02-22 16:12:58 +00:00
Moritz Kobitzsch
1ad1ff5fc1
remove unsigned >= 0 checks, unused constnat
2017-02-21 13:55:59 +01:00
Moritz Kobitzsch
03bb6dc161
reduce verbosity of use-lane in combination with lane-anticipation
2017-02-15 21:57:48 +00:00
karenzshea
e75278f9c2
add unit test for annotations=true returning all annotations
2017-02-13 18:00:39 +00:00
karenzshea
a31f401995
parse parameters.annotations into AnnotationsType::All
2017-02-13 18:00:39 +00:00
karenzshea
a61b1a3623
round speed to 1 decimal place
2017-02-13 15:49:30 +00:00
karenzshea
921ff43acf
return speed annotations
2017-02-13 15:49:30 +00:00
Kajari Ghosh
2218658969
Trip with Fixed Start and End points (TFSE) ( #3408 )
...
* fixed start and end trip feature to trip service
2017-02-10 05:13:20 -05:00
Michael Krasnyk
3e2db47cc8
cleanup in facade GetUncompressed members
2017-02-10 09:22:24 +00:00
Patrick Niklaus
768dc8d817
Merge pull request #3669 from Project-OSRM/seemoritz-minor_fixes
...
Port Seemoritz minor fixes to master
2017-02-08 09:34:36 +00:00
Patrick Niklaus
0c04c6cafb
Address PR comments
2017-02-07 18:12:49 +00:00
Moritz Kobitzsch
543f0e5e44
fix order of parameter initialisation for route parameters
2017-02-07 11:34:29 +01:00
karenzshea
1e9e420d91
clang format
2017-02-07 09:15:16 +00:00
karenzshea
c885d03830
use lambda instead of bindy
2017-02-07 09:15:16 +00:00
karenzshea
84261fd214
GetAnnotations function
2017-02-07 09:15:16 +00:00
karenzshea
734df348cb
a few more parameter tests
2017-02-07 09:15:16 +00:00
karenzshea
8d7aae8687
fix cucumber outputs
2017-02-07 09:15:16 +00:00
karenzshea
f1427a834d
fix bitwise operators, selectively add annotations to response obj
2017-02-07 09:15:16 +00:00
karenzshea
04954de9c6
implement bitwise and operator
2017-02-07 09:15:16 +00:00
karenzshea
a6cd0863bc
store/accept individual annotations parameters in addition to bool
2017-02-07 09:15:16 +00:00
Michael Krasnyk
6e1c4bfecd
Added indexed array data type with variable and fixed group blocks
2017-02-07 07:41:12 +00:00
Michael Krasnyk
9e5d45d86a
Added 'distance' weight to car profile
2017-02-03 18:59:00 +00:00
Michael Krasnyk
b3ef27d104
Make watchdog a singleton instance
...
References:
https://github.com/Project-OSRM/osrm-backend/issues/3619
https://github.com/Project-OSRM/osrm-backend/pull/3627#issuecomment-276288138
2017-01-31 13:25:59 +01:00
Michael Krasnyk
c22ce3ae1f
Use shared memory region mapping at fixed address for OSX
2017-01-31 13:25:59 +01:00
Michael Krasnyk
ad594cb2e4
Update review findings
2017-01-27 11:19:37 +01:00
Michael Krasnyk
25baf51a2c
Add duration to edges and use it in table plugin
2017-01-27 11:19:37 +01:00
Michael Krasnyk
c059d15cb9
Added weight multipliers for speed and turn updates
2017-01-27 11:19:37 +01:00
Patrick Niklaus
279f8aabfb
Allow specifing a weight for routing that is independent of duration
2017-01-27 11:19:37 +01:00
Daniel J. Hofmann
c277b95f03
Implements Zero-Copy String Views onto Contiguous Memory, resolves #3265 .
...
- http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html
- http://en.cppreference.com/w/cpp/string/basic_string_view
2017-01-23 15:22:39 +01:00
Moritz Kobitzsch
d129b0ef24
remove templates from routing algorithms
2017-01-21 23:59:15 +01:00
Moritz Kobitzsch
8c36012653
remove CRTP leftovers in search algorithms
2017-01-20 14:11:16 +01:00
Moritz Kobitzsch
b8beac2d00
unite process/shared_memory datafacades into a single type using an allocator scheme
2017-01-19 17:18:35 +01:00
Michael Krasnyk
b6f9ec2a33
make facades const to be consistent with const shmem block
2017-01-14 01:14:29 +01:00
Patrick Niklaus
104e23abf3
Restore --max-wait and file_lock for osrm-datastore
2017-01-14 01:14:29 +01:00
Patrick Niklaus
a7bb26f2d6
Remove unnecessary includes and rename in Engine
2017-01-14 01:14:29 +01:00
Michael Krasnyk
710ba20acc
Add 1ms delay as a workaround for "faster" requests than facade update
...
in osrm-routed
2017-01-14 01:14:29 +01:00
Michael Krasnyk
fce8d72895
Change to condvar signaling if data region swapped
2017-01-14 01:14:29 +01:00
Daniel J. Hofmann
1153b78c06
Fixes various compiler diagnostics
...
Found with LLVM 3.9.1 and then fixed the most severe categories.
2017-01-06 16:47:52 +01:00
Daniel J. Hofmann
5100f2cc7b
Guards against no lanes for lanes left and right of turn, resolves #3518
2017-01-06 12:44:02 +01:00
Michael Krasnyk
24ab71a346
Fix c++ formatting
2017-01-04 08:46:16 +01:00
Moritz Kobitzsch
e6ff17ab2a
refactor merging of segregated roads
...
adjust to generalFindMaximum function
moved parallel detection to ratio/absolute based regression testing
considerably improved detection quality using normalised regression lines
only follow initial direction/narrow turns for parallel detection
2017-01-03 12:32:51 +01:00
Patrick Niklaus
f7ad2e1e26
Don't retain SharedDataFacade between queries ( #3485 )
...
* Don't retain SharedDataFacade between queries
* More caching code
2017-01-03 12:06:55 +01:00
Michael Krasnyk
b376c97db8
Join LAYOUT and DATA shared memory blocks into REGION
2016-12-23 11:56:22 +01:00
Moritz Kobitzsch
bc081b7132
refactor route step / intermediate intersections
...
rename intersection (engine version) to IntermediateIntersection
follow coding convention for existing functions, move invalidate into routeStep
moved elongate into route step
move forward-step-signage into route step
replace post-processings `forwardInto` with `RouteStep` functionality. Don't change maneuver in step
separete declaration and implementation
2016-12-22 08:33:27 +01:00
Patrick Niklaus
3cbac0f012
Revert "Smarter search radius formula for map matching"
...
This reverts commit b73c59088c
.
2016-12-21 22:41:48 -08:00
Patrick Niklaus
cc14fb8bff
Revert "Hardcode search radius parameters"
...
This reverts commit 2c9e18d5a9
.
2016-12-21 22:41:34 -08:00
Moritz Kobitzsch
dff7fe214b
don't assign exit
in arrive when ending in roundabout
2016-12-21 17:48:23 +01:00
Moritz Kobitzsch
1ba5ff44cc
reduce warnings when compiling tests, add constructor to base parameters, fixes gcc49 unit tests building
2016-12-19 14:24:17 -05:00
Daniel J. Hofmann
5ecd2e4c67
Fixes GCC 4.9's protected keywork issues
2016-12-19 14:22:17 +01:00
Daniel J. Hofmann
b1f6797aab
Adds generate_hints=true
for dropping hints in response, resolves #1789 .
...
Adds an `generate_hints=false` option which lets us skip generating and
emitting hints for Waypoints. This can be used to decrease the response
size when the user does not need hints anyway.
We should think about making `false` the default here in v6.
2016-12-19 12:09:36 +01:00
Patrick Niklaus
c4b3cdfd80
Fix changing shared memory in multi-process setup ( #3462 )
...
This change fixes two bugs:
1. A dead-lock that occurs between osrm-datastore and libosrm when an
old dataset is free during a data update. This happened because the
mutexes where acquired in a different order.
2. A region is deleted eventhough it is still in use. This happens when
libosrm gets overtaken by osrm-datastore, so the new dataset is in
the same region the old one was.
2016-12-16 13:50:17 -08:00
Moritz Kobitzsch
d584bcad11
fix roundabout handling with lanes
...
instead of artificially removing lanes from a roundabout, we don't assing them in the first place.
this also prevents a problem where we would end up collapsing turns with lanes in a roundabout
2016-12-15 13:07:26 +01:00
Daniel Patterson
a51ef67db8
Use common function for clamping logic for all user-visible bearings.
2016-12-15 10:59:17 +01:00
Moritz Kobitzsch
67ce19cb14
fix problem at the source
2016-12-15 10:59:17 +01:00
Michael Krasnyk
84b618ed1a
Add headers consistency check
2016-12-15 10:58:17 +01:00
Patrick Niklaus
03d653c0bb
Fix removing shared memory segments in a multi-process setup
2016-12-09 12:18:05 +01:00
Daniel J. Hofmann
cbfb055f81
Changes Single Coordinate Geoms from Point to LineString, closes #3425 .
2016-12-09 11:53:06 +01:00
Moritz Kobitzsch
df3c39cef5
clean-up guidance code/code in general
...
removes duplicated includes
removes unused includes
eliminates dedicated toolkits that resulted in circular dependencies
moves functionality close to data, where possible
2016-12-07 12:10:56 +01:00
Daniel Patterson
468d8c0031
Refactor logging, improve error handling workflow, clang-format. ( #3385 )
2016-12-06 12:30:46 -08:00
Moritz Kobitzsch
a1127c3e09
reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes
2016-11-30 10:21:53 +01:00
Patrick Niklaus
95a584a30d
Make rounding when computing PhantomNode weight symmetric
...
Resolves a problem where the duration in forward and backward direction
was slightly different.
2016-11-18 17:46:32 +01:00
Kerrick Staley
2c9e18d5a9
Hardcode search radius parameters
2016-11-17 17:56:23 +01:00
kerrick-lyft
b73c59088c
Smarter search radius formula for map matching
2016-11-17 17:56:23 +01:00
Daniel Patterson
17c32f5ce7
Fully revert 04f8b653c94614
2016-11-15 16:55:02 -08:00
Daniel Patterson
1fc969e6c8
Fix naming convention, and pass-by-reference for data layout.
2016-11-15 16:55:02 -08:00
Daniel Patterson
49f960064c
Partial revert of 04f8b653c94614 - the PackedVector is special.
2016-11-15 16:55:02 -08:00
Daniel Patterson
83a9d0590d
Pass-by-reference instead of pointer.
2016-11-15 16:55:02 -08:00
Daniel Patterson
608044305d
Rename the datafacades to more clearly describe what they do.
2016-11-15 16:55:02 -08:00
Daniel Patterson
2f9b5788d0
Destructor should fail hard if an exception is raised.
2016-11-15 16:55:02 -08:00
Daniel Patterson
97244557b1
Don't need to use new, make_unique<> can do what we need here.
2016-11-15 16:55:02 -08:00
Daniel Patterson
e2e5eb0169
Remove use of ShM<>::vector in favour of the boost::iterator_range
2016-11-15 16:55:02 -08:00
Daniel Patterson
6949d7ee5b
Remove ownership of block pointers from base class.
2016-11-15 16:55:02 -08:00
Daniel Patterson
b1125b7f1f
Rename base class to something more in line with it's actual function.
2016-11-15 16:55:02 -08:00
Daniel Patterson
bf6df74d44
Consolidate datafacade file loading logic.
...
Both datafacades now use a single large memory block and common
file loading logic.
2016-11-15 16:55:02 -08:00
Moritz Kobitzsch
f88ac989ea
reserve when possible
2016-11-11 14:48:50 +01:00
Moritz Kobitzsch
9c11f4231c
add locations feature to allow testing turn locations, fix minor bug breaking the arrival location
2016-11-08 13:42:15 +01:00
Kajari Ghosh
f33180f092
request polyline with precision of 5 or 6 positions ( #3220 )
2016-11-07 15:11:21 -05: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
Patrick Niklaus
08a5648e3e
Use coorect osm ids for start/target segment
2016-11-02 17:52:41 +00:00
Kajari Ghosh
c30f43b148
added max_speed to the profiles ( #3089 )
2016-11-01 17:13:10 -04:00
Kajari Ghosh
6fc0609a62
Map matching test coverage fix ( #3201 )
...
* fixed map matching test coverage
2016-10-29 11:22:09 -04:00
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Denis Koronchik
dc7e61c25d
Fix declaration of makeRouteStep function
2016-10-27 20:12:02 +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
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
Patrick Niklaus
b8795c7341
Rename increasingly inaccuratly named distance member of QueryEdge to weight
2016-10-21 21:00:02 +02:00
jakepruitt
c30784895d
clang-format and remove debug
2016-10-20 11:32:28 -07:00
jakepruitt
fa1fc810ea
std::for_each -> std::copy
2016-10-20 11:32:28 -07:00
jakepruitt
052b0e831d
Remove debug logging
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
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
Huyen Chau Nguyen
2d13116487
fix memory leak of char[] initialization
2016-10-19 17:26:21 -07:00
Huyen Chau Nguyen
316ef305de
Refactor loading code for timestamp file
2016-10-19 17:26:21 -07:00
Daniel J. Hofmann
18bc02f087
Collapses Double OSRM <-> Engine <-> .. PImpl Indirection, Resolves #3019 .
2016-10-19 13:42:08 -07:00
Patrick Niklaus
b7ee38eca7
Refactored loading code for .hsgr file
2016-10-19 19:59:23 +02:00
Patrick Niklaus
81c5cba0e5
Recover from stale mutexes with force unlocking and retry
2016-10-18 21:58:50 +02:00
Patrick Niklaus
caa7c994a0
Make SharedDataFacade try to cleanup
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
da04563e26
Added header guards
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
d0c142b9c7
remove util self-written make_unique and use C++14 stdlib make_uniqe
2016-10-17 15:27:14 -07:00
Moritz Kobitzsch
46c936b48e
handle trips with identical coordinates
2016-10-17 15:26:38 -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
karenzshea
ee012ae2da
valid tiles are >= z12
2016-10-12 10:03:43 -04: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
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
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
Daniel J. Hofmann
d86bba3e24
Re-introduces the old RouteParameters
ctor for API compatibility, see #2978
2016-10-03 20:00:12 +02:00
Moritz Kobitzsch
d1f1358e48
adjust for comments by daniel-j-h
2016-09-30 17:27:14 +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
10b93c6908
re-introduce space into summaries
2016-09-30 14:36:09 +02:00
Moritz Kobitzsch
e4d0d49300
move summaries to car profile, test for references, use boost adaptors
2016-09-30 10:59:23 +02:00
karenzshea
cbb96ce7f4
handle empty names in summaries
2016-09-30 10:43:36 +02:00
Moritz Kobitzsch
0abd32fca3
prefer first result
2016-09-28 10:32:33 +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
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
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
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
Patrick Niklaus
da9d63a384
Always overwrite m_is_core_node on data swap
...
This fixes a seg fault when swapping between core/no core datasets
2016-08-30 17:31:08 +02:00
Patrick Niklaus
c5e85f3d6d
Set parent nodes of core entry nodes not to themselves
2016-08-30 17:31:08 +02:00
Moritz Kobitzsch
766e2713ab
fix segmentation fault for via-routes with invalid intermediate segments
2016-08-23 14:17:32 +02:00
Lev Dragunov
89f1071947
Static checks for guidance array sizes.
2016-08-12 18:52:54 +03: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
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 Patterson
35422a0fb5
Clang format.
2016-07-30 23:53:38 +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
Michael Krasnyk
c918a7957b
Updated format and ChangeLog
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
Patrick Niklaus
c7a1576100
Apply clang-format again
2016-07-26 15:00: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
41ba20ca9a
switch api format to new structure
2016-07-21 17:42:10 +02:00
Moritz Kobitzsch
0e017a6ce5
collapse use-lane instructions if possible
2016-07-20 10:23:26 +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
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
Moritz Kobitzsch
0e4061f858
deduplicate code for roundabout handling
2016-07-01 11:34:44 +02: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
Patrick Niklaus
fddc19e98d
Fix regressed formating
2016-06-21 22:25:48 +02:00
Daniel J. Hofmann
b98431e8e6
Use BaseDataFacades in guidance and prevent ODR violations with inline
2016-06-21 00:49:06 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files
2016-06-20 22:45:40 +02:00
Michael Krasnyk
911d1e81b6
Make explicit promotion to int64_t
...
to avoid incorrect promotions for 32 bit size_t
2016-06-20 22:45:40 +02:00
Moritz Kobitzsch
3ca32898a1
move guidance decision into debug header
2016-06-15 11:30:30 +02:00
Patrick Niklaus
e9a0beb4e8
Fix shared memory encoding for node-ids
2016-06-12 20:50:57 +02:00
Daniel J. Hofmann
033dc0a72d
Pre-allocate up-front whenever possible
2016-06-09 16:06:27 +02:00
Moritz Kobitzsch
1dfdb38d4a
improve collapse-handling
2016-06-06 10:05:18 +02:00
Daniel J. Hofmann
dfa762bccc
Pronunciation.
...
Spelling is hard. Maybe this time. /cc @themarex @systemed
2016-06-02 16:35:21 +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
58d6e8f4d0
handle short summaries correctly
2016-06-02 00:26:04 +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
Patrick Niklaus
d6de2ca71c
Really place annotations in RouteLeg and not Route
2016-05-27 16:46:28 +02:00
Patrick Niklaus
262354f733
Rename annotate to annotations
2016-05-26 23:35:11 +02:00
Daniel Patterson
3d03797e53
Distinguish between offramps and sliproads.
2016-05-26 21:31:04 +02:00
Patrick Niklaus
254ee07942
Add new sanity check assertions to UnpackPath
2016-05-23 23:15:15 +02:00
Patrick Niklaus
0bf8bd2230
Remove invalid assertion.
...
This ports the matching change from RoutingBase.
2016-05-23 23:15:15 +02:00
Michael Krasnyk
b5225f07cb
Fix #2413 by converting enums to unsigned char constants
2016-05-23 18:33:24 +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
4d9aa65e78
intersection classes with variable degree of discretization
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification
2016-05-19 16:43:46 +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
7174c5d036
Make StaticRTree and facades const
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
Patrick Niklaus
f5aa5c0769
Don't wrap StaticRTree in thread-specfic ptr
2016-05-07 23:52:11 +02:00
Daniel Patterson
f251f93a11
Fix summary generation when empty strings are present.
...
Also corrects step ordering when steps have equal durations.
2016-05-04 14:00:34 +02:00
Moritz Kobitzsch
78acc6f215
fix search with u-turn
2016-05-03 21:13:22 +02:00
Patrick Niklaus
a4f1dc536d
Trip plugin does not have a continue_straight parameter, use false
2016-05-03 21:13:22 +02:00
jperaltamalvar
57a30dd375
Remove more typename
...
Needed to compile con Windows
2016-05-03 16:00:44 +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
e341d367d8
Move detail:: to osrm::detail::
2016-05-02 18:36:32 +02:00
Moritz Kobitzsch
59168e21b4
remove unnecessary warnings, initialize correctly
2016-05-02 17:29:37 +02:00
Patrick Niklaus
e504128587
Fix naming convention in HiddenMarkovModell
2016-05-02 17:25:58 +02:00
Patrick Niklaus
1ab6c07bad
Fix naming convention in BayesClassifier
2016-05-02 17:25:58 +02:00
Patrick Niklaus
a8b730576f
Fix naming convention in GeospatialQuery
2016-05-02 17:25:58 +02:00
Lauren Budorick
346146d834
Address comments from b89164c14e
( #2346 )
2016-05-02 08:00:27 -07:00
Patrick Niklaus
64307ea882
Add missing headers and remove dead code
2016-04-29 20:02:08 +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
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
62a1290043
remove invalid assertion
2016-04-26 13:16:44 +02:00
Moritz Kobitzsch
754bc2d274
handle combined turns at segregated roads
2016-04-26 13:13:20 +02:00
Moritz Kobitzsch
be5b49e391
Fix local path looping, fixes #2309
2016-04-25 19:37:59 +02:00
Michael Krasnyk
4363fd64c4
Fix for PhantomNode packing in MSVC
...
Changed bool to uint32_t in bit fields to have 4-byte packings for 32 bits:
"c++ compilers will allocate bit-fields in memory as follows:
several consecutive bit-field members of the same type will
be allocated sequentially. As soon as a new type needs to be allocated,
it will be aligned with the beginning of the next logical memory block."
References:
- https://msdn.microsoft.com/en-us/library/ewwyfdbe.aspx
- http://stackoverflow.com/questions/308364/c-bitfield-packing-with-bools/308383#308383
2016-04-24 14:06:48 +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
Patrick Niklaus
b3957d87b4
Add changelog entry
2016-04-21 22:14:01 +02:00
Patrick Niklaus
5f9ccadd6c
If geometry is only one point, encode as Point not as LineString
2016-04-20 20:49:54 +02:00
Patrick Niklaus
589767fe6d
uturns -> continue_straight
2016-04-12 23:16:02 +02:00
Patrick Niklaus
669e2a767a
Another missed irange
2016-04-12 18:11:08 +02:00
Patrick Niklaus
2b4f9feeab
Forgot a irange fix
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
32a3651231
Changed windows encoded size to 104
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
Patrick Niklaus
621ed970da
Fix assertions about hint size for windows
2016-04-12 18:11:08 +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
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
Moritz Kobitzsch
4d864b8267
fix warnings in compilation on clang
2016-04-06 18:44:42 +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
Moritz Kobitzsch
470d7600b8
fixes 2219
2016-04-05 22:59:14 +02:00