Patrick Niklaus
7e722db3ee
Make the API grammar more strict to actually error
2015-12-09 21:17:18 +01:00
Patrick Niklaus
4253ebf243
Fix inverted error message.
2015-12-09 21:16:53 +01:00
Patrick Niklaus
61f015eef6
Fix match plugin status codes
2015-11-25 00:27:20 +01:00
Daniel Patterson
8f3482561b
Rename great_circle_distance->haversine_distance, and euclidean_distance->great_circle_distance, because that's what they actually are.
2015-11-17 17:10:06 -05:00
Daniel Patterson
1536d1c044
Add bearing filter support to viaroute, trip, nearest, and distance
...
table plugins.
Make bearing range configurable by adding a comma-separated second part
to the bearing paramenter, like so:
b=<bearing:0-359>(,<range:0-180>)
If no range is supplied, it defaults to +/- 10 degrees.
2015-11-17 16:35:20 -05:00
Daniel Patterson
c7e30e2266
Add a summary to each match result showing distance and duration.
...
Helpful for comparing how long the routing engine thinks the matched
trace should take to travel.
2015-11-17 15:28:21 -05:00
Daniel Patterson
d07c0bde80
Adds support for a new b=
parameter on the viaroute
and match
...
plugins, allowing for better nearest neighbor matching when a heading
is known.
2015-10-06 11:15:10 +02:00
Daniel J. Hofmann
17d8e65c64
Silence unused variable warnings
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
c526bec798
Revert parallelization on server part. Let node do this.
...
This reverts @6b2bf49 on the server components.
We do not want to parallelize there, as node should be used for
parallelizing the user requests onto multiple processes.
2015-09-28 20:26:03 +02:00
Daniel J. Hofmann
9231335eef
Use Intel TBB's parallel_sort even for nested parallelism.
...
TBB has a global task scheduler (that's one of the reason TBB is not
linked statically but dyanmically instead). This allows control over all
running threads, enabling us to use nested parallelism and the scheduler
doing all the task allocation itself.
That is, nested parallel execution such as in
parallel_for(seq, [](const auto& rng){
parallel_sort(rng);
});
is no problem at all, as the scheduler still claims control over the
global environment.
Therefore, use `parallel_sort` Range overload where possible.
References:
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms/parallel_sort_func.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler/task_scheduler_init_cls.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#tbb_userguide/Initializing_and_Terminating_the_Library.htm
2015-09-28 20:26:03 +02:00
Daniel Patterson
5844231a37
Include (road) name of matched nodes in addition to coordinate.
2015-09-23 17:53:34 +02:00
Patrick Niklaus
fe0fe1873a
Add simplification reset that was accidentally removed
2015-09-11 01:34:10 +02:00
Andreas Gruß
de29574314
tests + instructions for map matching
2015-09-11 01:34:10 +02:00
Patrick Niklaus
f11bd509b0
Also prune on MAX_DOUBLE
2015-09-03 17:02:33 +02:00
Patrick Niklaus
262b380280
Candidate query for match is now only depending on gps_precision
2015-09-03 17:02:33 +02:00
Patrick Niklaus
a4f558181d
Add status field to match plugin response
2015-09-03 17:02:33 +02:00
Daniel J. Hofmann
62b20769ee
Modernize the code base to C++11 standards and beyond.
...
Apply `clang-modernize` (based on Clang 3.6) transformations to the
codebase while making sure to support Clang>=3.4 and GCC>=4.8.
We apply the transformations in parallel to speed up the quite
time consuming process, and use our `clang-format` style file
to automatically format the code respecting our coding conventions.
We use the following self-explanatory transformations:
* AddOverride
* LoopConvert
* PassByValue
* ReplaceAutoPtr
* UseAuto
* UseNullptr
This required a `compile_commands.json` compilation database, e.g.
ccmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=1
for CMake or check Bear for a Makefile based solution (or even Ninja).
git ls-files -x '*.cpp|*.h' | \
xargs -I{} -P $(nproc) clang-modernize -p build -final-syntax-check -format -style=file -summary -for-compilers=clang-3.4,gcc-4.8 -include . -exclude third_party {}
Boom!
References:
* http://clang.llvm.org/extra/clang-modernize.html
* http://clang.llvm.org/extra/ModernizerUsage.html
2015-08-18 12:56:34 +02:00
Patrick Niklaus
3248977e02
Update classifier parameters
2015-04-13 22:39:55 +02:00
Patrick Niklaus
7ee8776165
Remove second stage classifier: obsolete with trace splitting
2015-04-13 22:39:55 +02:00
Dennis Luxen
9a61f8b894
add more const keywords, avoid implicit type conversions
2015-04-02 11:27:51 +02:00
Dennis Luxen
9bbbebf31d
use empty() instead of 1>size() to make intent more clear
2015-03-30 13:13:13 +02:00
Dennis Luxen
19765cfa14
remove unneeded include
2015-03-30 13:10:03 +02:00
Patrick Niklaus
d3b9911445
Fix match geometry output
2015-03-17 23:50:59 +01:00
Patrick Niklaus
0c735953c9
Make uturn detection a little less sensitive.
2015-03-08 00:51:07 +01:00
Patrick Niklaus
736bc87480
Fix inverted operator in maximum check
2015-03-07 23:02:14 +01:00
Dennis Luxen
a9c3b343fc
separate model and computation in HMM matching
2015-03-03 12:48:33 +01:00
Dennis Luxen
592bebaf29
renamed: plugins/map_matching.hpp -> plugins/match.hpp to avoid confusion with routing_algorithms/map_matching.hpp
2015-03-03 12:01:40 +01:00