Michael Krasnyk
0c6ce6ce08
Implement MLD routingStep with cell restriction and without
2017-03-17 13:20:33 +01:00
Michael Krasnyk
a75fd560d7
Use correct upper bound condition for MLD routing
2017-03-17 13:20:33 +01:00
Michael Krasnyk
152f77b665
Remove level field from heap node data
2017-03-17 13:20:33 +01:00
Michael Krasnyk
6586737835
Fix weights and annotations for phantom points on one segment
2017-03-17 12:27:48 +01:00
Michael Krasnyk
81771a3bfd
Fix cell storage for tiny maps
2017-03-17 12:27:47 +01:00
Michael Krasnyk
c648711f30
MLD direct shortest path plugin
2017-03-17 12:27:47 +01:00
Michael Krasnyk
6829f46c31
Split routing_base into CH and non-CH parts
2017-03-17 12:27:47 +01:00
Michael Krasnyk
43a7e8e08a
Rename {id|edge_id} to turn_id
2017-03-17 12:27:47 +01:00
Patrick Niklaus
809d8a7d03
Remove duration fallback for turn penalties to simplify logic
2017-03-17 11:19:58 +00:00
Patrick Niklaus
907f933a54
Add update functionality to osrm-customize
...
All speed file flags are compatible with osrm-contract.
2017-03-13 23:04:45 +00:00
Patrick Niklaus
a636e8cc13
Include datasources in .geometries file and refactor .datasource_names
2017-03-10 20:40:59 +00:00
Patrick Niklaus
fb552fd751
Apply clang-format
2017-03-10 14:43:02 +00:00
Patrick Niklaus
4986f5ea2d
Consolidate read/write code in updater for compressed geometries
2017-03-10 14:43:02 +00:00
Michael Krasnyk
0a13390ab0
Compute correct speed values in tile plugin
2017-03-09 11:18:53 +00:00
Michael Krasnyk
ec3cda32fa
moved basic type definitions to osrm namespace
2017-03-08 16:08:00 +00:00
Michael Krasnyk
264cec12e9
Fix reading MLD data into shared memory block
2017-03-08 00:56:50 +00:00
Michael Krasnyk
f42136637d
Add edge-based graph loading in MLD facade
2017-03-08 00:56:50 +00:00
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
Daniel J. Hofmann
97401ad99a
Disable steps and alternatives by default
2016-04-05 22:59:14 +02:00
Patrick Niklaus
12608889e2
Fix 'ok' -> 'Ok'
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
c6c25e609b
Initial libosrm API docs
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
006a8833d3
Fix some of the accidental forced loops in viaroute
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
2219b6507c
correctly handle roundabouts in a wide set of special cases
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
5b33efeecc
Fixes #2152 - weight vector needed to be reversed, and start index was wrong.
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
1fd66f55c1
Fix problem with uturns=true
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
4441381042
Mismatched tag in fwd decl
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
803fbf2541
Sentinel spelling
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
0f0db4c823
Provide correct Base64 implementation.
...
Phew, this was painful. Turns out most hints out there on how to use the
Boost serialization iterators are wrong. Here's why:
transform_width<6, 8>
needs an input stream of length: common multiple of 6 and 8.
That is, the padding needs to happen _before_ using the provided
iterators, otherwise the behavior is undefined!
See: http://www.boost.org/doc/libs/1_60_0/boost/archive/iterators/transform_width.hpp
Thanks @mokob for pointing that out to me!
We also need to manually add as many padding chars "=" to the encoded
result as many bytes we had to append to the input to conform to the
rule above.
Decoding then knows the number of padding chars by counting for "=" and
then using it in order to split off the last bytes from the decoded
result.
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
a7aa27c87c
Completely re-write base64 logic, make API suck less in doing so
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
735b325d74
RFC 4648 Test Vectors
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
d67ce81438
Fix hint size
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
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
Patrick Niklaus
30a3ab68c0
Make gcc 4.8 happy and disable protected because of lambdas
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
29fff4f51b
implements relative position feature based on coordinates
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
4e8fe89faa
Fix foward/backwad swap
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0f04fe75bd
Fixup for last commit
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
Patrick Niklaus
80f008684d
Fix ingestion fixed duration values from UnpackPath
2016-04-05 22:58:32 +02:00
Patrick Niklaus
c9c2d8133c
Fix durations in UnpackPath
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
c439594403
report depart/arrive in addition to waypoint
2016-04-05 22:58:32 +02:00
Patrick Niklaus
29cf9e05db
Only install necessary headers
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
298f68c966
Adds the license preamble for all publicly installed eaders, closes #2036
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0b3289ea37
Remove the encoder/decoder dependecy from Hint
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5f457bff12
Rename alternative -> alternatives
2016-04-05 22:58:32 +02:00
Patrick Niklaus
6c00ccca9a
Remove obsolete debug information
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5e5f72ae57
Don't pass down unsnapped coordinates. All information is already there
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a8fc95d4e4
Move bearing to public namespace
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
90add9f840
Moves route assembly into implementation file
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
770624d492
Fixes remaining engine/guidance includes
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c59758ef65
Fixes accumulate living in <numeric> and not <algorithm>
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
15752335f4
Puts step maneuver handling into implementation file
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
6e7cf68164
Adapts MakeResponse to not pass vector by pointer
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
7c30ea32bf
Runs scripts/format.sh
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
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
6605f293b4
relative waypoint locations
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
482e18ccdb
handling of roundabouts (simple version)
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
bcfbc0cf6c
Fix table response format to return null + double in seconds
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
dc1b5d3424
Provides ctor from base path for EngineConfig, fixes #2030
2016-04-05 22:58:32 +02:00
Patrick Niklaus
36f9366f3f
Preliminary integration of the tile plugin
2016-04-05 22:58:32 +02:00
Patrick Niklaus
712f1ca02a
sources and destinations can be empty actually
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
285b238f26
Fixes coordinate, source and destination validation by means of backporting #2041
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
70fb12b10e
Fixes ownership semantics and forwarding references misplacements in the JSON factory
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
6380a6be05
Unwrap function call from identity lambda
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
548fd92c15
Uses JSON's String constructor for polyline encoding
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
86de53eb9a
Passes coordinates by value
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0ab80ad0a7
Fix if the last coordinate is not found
2016-04-05 22:58:32 +02:00
Patrick Niklaus
61744764da
Allocate correct table size
2016-04-05 22:58:32 +02:00
Patrick Niklaus
1090339331
Fix geometries type in steps
2016-04-05 22:58:32 +02:00
Patrick Niklaus
51e8318224
Fix behaviour of table if sources/destinations arrays are empty
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
Patrick Niklaus
f10286de8c
Fix match and trip API response
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a0e0465704
Fix out-of-bounds write in map_matching
2016-04-05 22:58:32 +02:00
Patrick Niklaus
14c36bc405
Finish the nearest plugin
2016-04-05 22:58:32 +02:00
Patrick Niklaus
81319228bd
Initialize NearestParameters correctly
2016-04-05 22:58:32 +02:00
Patrick Niklaus
fcd7b05900
Adapt to feedback in #519
2016-04-05 22:58:32 +02:00
Patrick Niklaus
8378d95588
Add trip plugin
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b34f9b1795
Hook up map matching
2016-04-05 22:58:32 +02:00
Patrick Niklaus
35b098e656
First compiling version of map_match plugin
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3d6e9da115
Fix missing headers in hint.hpp
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
bd371a11ad
Enable all plugins with aStatus::Error return code fallback for not implemented ones
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
f3c4a7dd16
We don't need templates at all, this is not CRTP?
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c75b497b2e
Adapts Nearest plugin to new API
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
d572d77b48
Fix deleting incomplete type and make Engine moveable only
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
a4074332cc
Adapts publicly facing new API
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c31ceb6a5b
Adapts NearestParameters to new API
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b0863d8628
Initial non-building match plugin
2016-04-05 22:58:32 +02:00
Patrick Niklaus
c127aaae6b
Add table API
2016-04-05 22:58:32 +02:00
Patrick Niklaus
64e5ebb55f
Fix parameter parsing tests
2016-04-05 22:58:32 +02:00
Patrick Niklaus
83addd6bba
Fix table plugin
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
d87a19b2f9
First take at distance table API re-write
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
b58edc980c
Adapts TableParameters and its validation to new API
2016-04-05 22:58:32 +02:00
Patrick Niklaus
f3e72623e9
Add viaroute suport for new API
2016-04-05 22:58:32 +02:00
Michael Krasnyk
6b69946b9e
Fixes using uninitialised values in extractRouteNames
...
Conditional jump or move depends on uninitialised value(s)
at 0x5FEE48: osrm::engine::RouteNames osrm::engine::extractRouteNames<osrm::engine::datafacade::BaseDataFacade<osrm::contractor::QueryEdge::EdgeData>, osrm::engine::detail::Segment>(std::vector<osrm::engine::detail::Segment, std::allocator<osrm::engine::detail::Segment> >&, std::vector<osrm::engine::detail::Segment, std::allocator<osrm::engine::detail::Segment> >&, osrm::engine::datafacade::BaseDataFacade<osrm::contractor::QueryEdge::EdgeData> const*) (route_name_extraction.hpp:127)
by 0x61A1B2: osrm::engine::ApiResponseGenerator<osrm::engine::datafacade::BaseDataFacade<osrm::contractor::QueryEdge::EdgeData> >::DescribeRoute(osrm::engine::RouteParameters const&, osrm::engine::InternalRouteResult const&, osrm::util::json::Object&) (api_response_generator.hpp:173)
by 0x61AF47: osrm::engine::plugins::ViaRoutePlugin<osrm::engine::datafacade::BaseDataFacade<osrm::contractor::QueryEdge::EdgeData> >::HandleRequest(osrm::engine::RouteParameters const&, osrm::util::json::Object&) (viaroute.hpp:144)
by 0x61EEEC: osrm::engine::Engine::RunQuery(osrm::engine::RouteParameters const&, osrm::util::json::Object&) (engine.cpp:100)
by 0x5AE585: osrm::OSRM::RunQuery(osrm::engine::RouteParameters const&, osrm::util::json::Object&) (osrm.cpp:19)
by 0x5A8E07: main (in /home/miha/work/foss/osrm-backend/build.example/osrm-example)
2016-04-03 19:29:35 +02:00
Daniel J. Hofmann
a1b87b5236
Handle all distances between coordinates being zero in Farthest Insertion algorithm.
...
Assertions for additional safety and sanity.
References:
- see https://github.com/Project-OSRM/osrm-backend/issues/2147
2016-03-31 18:57:24 +02:00
Patrick Niklaus
21245273b4
Also exclude the compressed flag from the data format
2016-03-24 21:24:08 +01:00
Patrick Niklaus
8d7821c84e
Remove geometry indicator
2016-03-24 21:24:08 +01:00
Daniel J. Hofmann
8640129835
Ampersand binds to variable name
2016-03-15 11:47:57 +01:00
Daniel J. Hofmann
655dd2277c
Eliminate extra semicola
2016-03-15 11:47:57 +01:00
Daniel J. Hofmann
40f95191a0
Do not copy pairs in loop
2016-03-15 11:47:57 +01:00
Moritz Kobitzsch
4150c804df
Improve the core search stopping criterion
2016-03-15 09:33:10 +01:00
Patrick Niklaus
8912928581
Disable alternatives by defaul fixes #2072
2016-03-10 21:01:30 +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
adc3bacea9
Add pruning based on @MoKob's idea in #1921
2016-03-08 00:43:45 +01:00
Patrick Niklaus
f86b5a44bc
Adapt shortest_path and viaroute to core search
2016-03-07 21:26:12 +01:00
Daniel Patterson
017ff53702
Code review updates.
2016-03-03 13:25:01 -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 J. Hofmann
e90b1bbead
Allow no sources and no destinations for full table query
2016-03-03 02:00:39 +01:00
Daniel J. Hofmann
ce1ca1b625
Fixes critical error in table plugin accessing uninitialized memory
...
Although we check for valid coordinates in the table plugin via
`check_all_coordinates`, we do not check for #srcs > 0 and #dsts > 0.
This would be fine as the grammar parser combines adding coordinates and
setting their `is_source` and `is_destination` property, which makes
adding coordinates without specifying source or destination impossible.
See: route_parameters.cpp, AddSource, AddDestination, and api_grammar.hpp
In contract, the Polyline codepath does not do this! In fact, it only lets
you set coordinates, but not their `is_source` or `is_destination` property.
See: route_parameters.cpp, SetCoordinatesFromGeometry
Therefore, the following queries only set coordinates:
http 'http://localhost:5000/table?locs=s_hhFg {arEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfE'
http 'http://localhost:5000/table?locs=_p~iF~ps |U_ulLnnqC_mqNvxq`@'
but fail to specify sources and targets!
The distance table plugin now assumes `is_course` and `is_destination`
is the same size as `coordinates`.
And happily accesses uninitialized memory.
2016-03-03 02:00:39 +01:00
Patrick Niklaus
0eaa393065
Limit tile zoomlevel to 12+
2016-03-02 19:59:49 +01:00
David Low
79e8d1aac3
Minor typo fix
2016-03-02 15:16:28 +08:00
Daniel J. Hofmann
2ce553d661
Math functions are not constexpr since they have side-effects (setting errno) :(
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
2efef91f1c
Fixes const correctnes and explicit types in tile header
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
3feba9a581
Fixes Undefined Behavior in tile header from ODR-violation
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
afae896d05
Makes compile time constants properly ROM-able and deduplicates them across TUs
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
bcbaa21739
Fixes tile header includes
2016-03-01 23:51:25 +01:00
Daniel J. Hofmann
d60bc61d13
Properly constructs objects of type const RectangleInt2D in facades
2016-03-01 23:51:25 +01:00
Daniel J. Hofmann
aeee565115
Formats all the files we touch..
2016-03-01 23:51:25 +01:00
Daniel Patterson
8126793b18
Don't need to actually create a vector, we just write out all speeds from 0-127
2016-03-01 23:51:25 +01:00
Daniel Patterson
6a2592421c
Optimize encoding of speed values. Only store 0-127, so we can efficiently pack into a byte. Speed and is_tiny values are now shared, so tiles should be much smaller.
2016-03-01 23:51:25 +01:00
Daniel Patterson
95bf81f528
Add a bunch of comments.
2016-03-01 23:51:25 +01:00