Commit Graph

282 Commits

Author SHA1 Message Date
Moritz Kobitzsch
8753590f59 advanced guidance on 5.0 2016-03-18 17:33:02 +01:00
Patrick Niklaus
70dfe23f0e Fix table response format to return null + double in seconds 2016-03-18 17:33:02 +01:00
Daniel J. Hofmann
31f735b08e Provides ctor from base path for EngineConfig, fixes #2030 2016-03-18 17:33:02 +01:00
Patrick Niklaus
b01b7dcbca Add support for tile plugin 2016-03-18 17:33:02 +01:00
Patrick Niklaus
248a0af761 Preliminary integration of the tile plugin 2016-03-18 17:33:02 +01:00
Patrick Niklaus
49fff1d93f sources and destinations can be empty actually 2016-03-18 17:33:02 +01:00
Daniel J. Hofmann
29a72a9e1a Fixes coordinate, source and destination validation by means of backporting #2041 2016-03-18 17:33:01 +01:00
Daniel J. Hofmann
b3a709b98d Fixes ownership semantics and forwarding references misplacements in the JSON factory 2016-03-18 17:33:01 +01:00
Daniel J. Hofmann
aa3472cc6b Unwrap function call from identity lambda 2016-03-18 17:33:01 +01:00
Daniel J. Hofmann
3db1509855 Uses JSON's String constructor for polyline encoding 2016-03-18 17:33:01 +01:00
Daniel J. Hofmann
53f47458a2 Passes coordinates by value 2016-03-18 17:33:01 +01:00
Patrick Niklaus
7803d6116b Fix if the last coordinate is not found 2016-03-18 17:33:01 +01:00
Patrick Niklaus
07cd80d042 Allocate correct table size 2016-03-18 17:33:01 +01:00
Patrick Niklaus
fd6abcfde3 Fix travel mode passing from profiles up to the API 2016-03-18 17:33:01 +01:00
Patrick Niklaus
690a2a41a4 Fix geometries type in steps 2016-03-18 17:33:01 +01:00
Patrick Niklaus
dd1f9e5a6a Fix table parameter parsing 2016-03-18 17:33:01 +01:00
Patrick Niklaus
e4ed2f6a2f Fix behaviour of table if sources/destinations arrays are empty 2016-03-18 17:33:01 +01:00
Patrick Niklaus
5916ddda80 Change stream operator of strong typedef 2016-03-18 17:33:01 +01:00
Patrick Niklaus
5acd2ca394 Add stream operator to Rectangle 2016-03-18 17:33:01 +01:00
Patrick Niklaus
ffaf0fc86f Add euclideanDistance to coordinate_calculation 2016-03-18 17:33:01 +01:00
Patrick Niklaus
fed2a67e42 First round of lat,lng -> lng,lat switcheroo 2016-03-18 17:33:00 +01:00
Patrick Niklaus
53a74ce3e6 Fix match and trip API response 2016-03-18 17:33:00 +01:00
Patrick Niklaus
b18c7d75da Fix out-of-bounds write in map_matching 2016-03-18 17:33:00 +01:00
Dane Springmeyer
f3e5ce561a Fix compile on OS X 2016-03-18 17:33:00 +01:00
Patrick Niklaus
65d56182f2 Finish the nearest plugin 2016-03-18 17:33:00 +01:00
Patrick Niklaus
1c05d8b7ae Initialize NearestParameters correctly 2016-03-18 17:33:00 +01:00
Patrick Niklaus
6223ee887c Adapt to feedback in #519 2016-03-18 17:33:00 +01:00
Patrick Niklaus
d1528dc4ac Add trip plugin 2016-03-18 17:33:00 +01:00
Patrick Niklaus
7a042e643f Hook up map matching 2016-03-18 17:33:00 +01:00
Patrick Niklaus
a129e549eb First compiling version of map_match plugin 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann
d6e5b79747 Fix missing headers in hint.hpp 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann
03d88b3df2 Fix forward declarations in publicly facing osrm header 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann
bdfa072cac Enable all plugins with aStatus::Error return code fallback for not implemented ones 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann
65ba774ebc Adds publicly facing alias headers for parameters 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann
c88eeb89c6 We don't need templates at all, this is not CRTP? 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
49a173652b Service skeletons for nearest, trip, match 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
e4dace1d51 Fix grammar constraint and enable all plugin links 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
43d1e40284 Plugin grammar skeletons 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
139220058e Enforce parameter and grammar type to catch subtle bugs 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
11a92a8e54 Link parameters to grammars 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
d3a2c1c41c Require a BaseParameters type at compile time via enable_if 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
566505fd0f Adapts Nearest plugin to new API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
9dada6b46a Fix deleting incomplete type and make Engine moveable only 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
f9d2440d95 Adapts publicly facing new API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
a4387f39f1 Adapts NearestParameters to new API 2016-03-18 17:32:59 +01:00
Patrick Niklaus
1902292629 Initial non-building match plugin 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
445df08fb4 Semantic action handler requires passing optional by value and fusion::vector2 2016-03-18 17:32:59 +01:00
Patrick Niklaus
27a2b061bf Add tests for bearing parsing 2016-03-18 17:32:59 +01:00
Patrick Niklaus
944947962b Add table service 2016-03-18 17:32:59 +01:00
Patrick Niklaus
fda8f6ecef Add table API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann
ca6c1d7bb1 Optional<T> semantic action handler takes T argument 2016-03-18 17:32:59 +01:00
Patrick Niklaus
d88dda1a45 Fix parameter parsing tests 2016-03-18 17:32:59 +01:00
Patrick Niklaus
207f1d7732 Fix table plugin 2016-03-18 17:32:58 +01:00
Daniel J. Hofmann
d73600387b First take at distance table API re-write 2016-03-18 17:32:58 +01:00
Daniel J. Hofmann
9194ab590c Adapts TableParameters and its validation to new API 2016-03-18 17:32:58 +01:00
Patrick Niklaus
68eeb20c5c Add viaroute suport for new API 2016-03-18 17:32:58 +01:00
Patrick Niklaus
2f3b4373f9 Also exclude the compressed flag from the data format 2016-03-18 17:30:13 +01:00
Patrick Niklaus
1b25bebeac Remove geometry indicator 2016-03-18 17:30:13 +01:00
Daniel J. Hofmann
b1c84b598f Print the _local_ endpoint Boost ASIO assigns a port to, fixes #2097 2016-03-18 12:09:28 +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
Daniel J. Hofmann
a013da860e Fixes unneeded includes in contractor header and self-include 2016-03-15 10:44:33 +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
Patrick Niklaus
a98cc51ac2 Fix up some PR comments 2016-03-04 16:13:30 +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
Daniel Patterson
6d749777fc Using bind<T> in this case causes ambiguity with GCC 5.2.1 (see http://www.boost.org/doc/libs/develop/libs/bind/doc/html/bind.html#bind.faq.Q_forms). Remove template and let the type be deduced automatically. 2016-03-02 09:54:08 -08: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
66cadac6b6 Explicitly std:: prefix fixed integral types in static rtree header 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
c237c5353b Explicitly std:: prefix fixed integral types in rectangle header 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
c27a7e087f Fixes rectangle header includes 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
0894590a96 Fixes default declared ctor in Buffer 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
56e35e8ef2 Remove GeoJSON based debugging output, we can now generate vector tiles with roughly the same data on-the-fly. 2016-03-01 23:51:25 +01:00
Daniel 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
a0b4fcc05a Remove last bits of GPX support code 2016-03-01 23:44:07 +01:00
Daniel J. Hofmann
96a5e594b3 Removes profiles from osrm-prepare, only needed in osrm-extract. Fixes #1950. 2016-03-01 16:43:34 +01:00
Daniel J. Hofmann
04765d82ba Fixes undefined behavior via One-Definition-Rule violations
Heuristic

    find . -type f -name '*.hpp' |xargs ag -B 1 '^([^inline][a-zA-Z0-9_&\*::])+ (.*)\((.*)\)$'
2016-02-26 06:39:52 +01:00
Patrick Niklaus
69bc8a8b22 Fix unpacking for self-loop nodes not in core. Fixes #1999 2016-02-21 01:38:06 +01:00