Commit Graph

123 Commits

Author SHA1 Message Date
Daniel J. Hofmann c96a485108 Uses JSON's String constructor for polyline encoding 2016-03-17 22:15:13 +01:00
Daniel J. Hofmann c2de49ccab Passes coordinates by value 2016-03-17 22:15:13 +01:00
Patrick Niklaus 4dd6dfbfe2 Fix if the last coordinate is not found 2016-03-17 22:15:13 +01:00
Patrick Niklaus f039da95ec Allocate correct table size 2016-03-17 22:15:13 +01:00
Patrick Niklaus 721cc32acb Fix geometries type in steps 2016-03-17 22:15:13 +01:00
Patrick Niklaus 32982c7609 Fix behaviour of table if sources/destinations arrays are empty 2016-03-17 22:15:12 +01:00
Patrick Niklaus eb179af1ce First round of lat,lng -> lng,lat switcheroo 2016-03-17 22:15:10 +01:00
Patrick Niklaus 0bd658c304 Fix match and trip API response 2016-03-17 21:57:36 +01:00
Patrick Niklaus 0c8113943b Fix out-of-bounds write in map_matching 2016-03-17 21:57:36 +01:00
Patrick Niklaus cd4dbfac42 Finish the nearest plugin 2016-03-17 21:57:36 +01:00
Patrick Niklaus 6b72c007f9 Initialize NearestParameters correctly 2016-03-17 21:57:36 +01:00
Patrick Niklaus 007e4a69c8 Adapt to feedback in #519 2016-03-17 21:57:36 +01:00
Patrick Niklaus fab343d0d3 Add trip plugin 2016-03-17 21:57:36 +01:00
Patrick Niklaus 8d4ee327cd Hook up map matching 2016-03-17 21:57:36 +01:00
Patrick Niklaus ba2feca497 First compiling version of map_match plugin 2016-03-17 21:57:36 +01:00
Daniel J. Hofmann b10bd7c45e Fix missing headers in hint.hpp 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann 891ac48d1c Enable all plugins with aStatus::Error return code fallback for not implemented ones 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann b1a11aa567 We don't need templates at all, this is not CRTP? 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann 097771879b Adapts Nearest plugin to new API 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann 2d558a0b83 Fix deleting incomplete type and make Engine moveable only 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann 23a5edb29b Adapts publicly facing new API 2016-03-17 21:57:35 +01:00
Daniel J. Hofmann 942c71814d Adapts NearestParameters to new API 2016-03-17 21:57:34 +01:00
Patrick Niklaus 482aa63001 Initial non-building match plugin 2016-03-17 21:57:34 +01:00
Patrick Niklaus 2bd8efd140 Add table API 2016-03-17 21:57:34 +01:00
Patrick Niklaus a57680323f Fix parameter parsing tests 2016-03-17 21:57:34 +01:00
Patrick Niklaus 75f356fcc6 Fix table plugin 2016-03-17 21:57:34 +01:00
Daniel J. Hofmann d35c862a8b First take at distance table API re-write 2016-03-17 21:57:34 +01:00
Daniel J. Hofmann df236b72fb Adapts TableParameters and its validation to new API 2016-03-17 21:57:34 +01:00
Patrick Niklaus 8b2b153465 Add viaroute suport for new API 2016-03-17 21:57:32 +01:00
Patrick Niklaus 26ffdf2dcb Also exclude the compressed flag from the data format 2016-03-17 17:23:36 +01:00
Patrick Niklaus 3377bf8faf Remove geometry indicator 2016-03-17 16:40: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