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
Daniel Patterson
ae802a8a83
No need to send a back to the client, km/h are specific enough.
2016-03-01 23:51:25 +01:00
Daniel Patterson
ee71d2fe5f
Don't need to static cast.
2016-03-01 23:51:25 +01:00
Daniel Patterson
8dd2447cc5
Don't round until necessary, this keeps coordinates in much better positions.
2016-03-01 23:51:25 +01:00
Daniel Patterson
26453af1b9
Add a distinct Buffer type for encoding binary data in JSON responses. Treated like a string, but allows other consumers (a-la node-osrm) to recognize and not break string encodings.
2016-03-01 23:51:25 +01:00
Daniel Patterson
5dc7b79bb6
Implements a vector tileserver so you can see what's going on inside
...
OSRM.
2016-03-01 23:51:25 +01:00
Patrick Niklaus
69bc8a8b22
Fix unpacking for self-loop nodes not in core. Fixes #1999
2016-02-21 01:38:06 +01:00
Mortada Mehyar
aae02cd1be
fixed minor typos
2016-02-18 23:05:11 -05:00
Moritz Kobitzsch
2679c1cf0a
correct handling of travel modes
2016-02-16 01:35:04 +01:00
Moritz Kobitzsch
f14352f494
modify turn angles and instructions
2016-02-15 20:13:55 +01:00
Moritz Kobitzsch
ab9426e260
fix routing when requiring loop at a core node
2016-02-15 18:26:39 +01:00
Daniel J. Hofmann
27fe85ac8b
Dividable-by-three instead of next-dividable-by-three
2016-02-12 18:10:44 -08:00
Daniel J. Hofmann
4b8c0ac143
Revert "Folds json_* utilities into json subfolder and adapts includes"
...
This reverts commit cd039c69c0a92a35889e3c875b8eb53cf07377bb.
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
c9f0158fdb
Ifdef is_trivially_copyable<T> behind gcc >= 5 guard
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
aac21f932b
Refactors Base64 encoding and decoding, it's almost beautiful now
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
ec01c2a119
Folds json_* utilities into json subfolder and adapts includes
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
ef171f3acd
Properly use typed math constants instead of impl. specific hacks
...
PI is not in the stdlib, neither is 1/pi, pi*2 and so on. Instead
of relying on implementations providing these, use properly typed
math constants.
Main benefits:
- portable and
- returns constexpr, for compile-time computation
References:
- http://www.boost.org/doc/libs/1_60_0/libs/math/doc/html/math_toolkit/constants_intro.html
- http://www.boost.org/doc/libs/1_60_0/libs/math/doc/html/math_toolkit/constants.html
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
64b36807d3
Transforms osrm_exception to exception
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
fa8529949b
Make swap noexcept (as it has to be!) and fix swap misuses
2016-02-08 11:47:44 -08:00
Daniel J. Hofmann
3075f6cea7
No need for deferred, non-blocking or timeout acquisition
2016-02-08 11:26:40 -08:00
Daniel J. Hofmann
ff966490bb
Fixes datafacade includes
2016-02-08 11:26:40 -08:00
Patrick Niklaus
efee07e20b
Move arrays don't copy
2016-01-29 15:58:48 +01:00
Moritz Kobitzsch
603b83e1c3
Fixes Alternative Routing when including loops
2016-01-28 16:33:07 +01:00