Commit Graph

202 Commits

Author SHA1 Message Date
Moritz Kobitzsch
8322a7ccaf bugfixing/classification 2016-03-31 18:58:52 +02:00
Patrick Niklaus
8c71239e48 Big Restructuring / Cleanup 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
ffb3578180 starting on conflict resolution 2016-03-31 18:58:52 +02:00
Lauren Budorick
c918d68b3e Fixes for gcc compiling, temporary hacks to remove later 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
ebdae7591b handle segregated roads (merge for turn analysis) 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
0ba70bcbf9 structural changes, motorway handling 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
3cdd282e0f enter and exit roundabout feature - currently not showing turn 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
72202b7e4a migrated out of edge based graph factory 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
9f9040eaf6 relative waypoint locations 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
bc252ea110 handling of roundabouts (simple version) 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
bcf7741f95 advanced guidance on 5.0 2016-03-31 18:58:52 +02:00
Patrick Niklaus
70afe209d5 Fix numerical problems with polyline 2016-03-31 18:58:52 +02:00
Patrick Niklaus
8b50f48d8e Return NoMatch 2016-03-31 18:58:52 +02:00
Patrick Niklaus
6f89ce516f Add support for tile plugin 2016-03-31 18:58:52 +02:00
Patrick Niklaus
666d363c93 Preliminary integration of the tile plugin 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
b0a83191cd Fixes ownership semantics and forwarding references misplacements in the JSON factory 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
4e02e8e1a0 Passes coordinates by value 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
407509d1af Asserts on unknown TurnInstruction 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
c1bea5c22d Fixes header includes in the JSON factory 2016-03-31 18:58:52 +02:00
Dane Springmeyer
cf63399c9f fix compile of osrm-components 2016-03-31 18:58:52 +02:00
Patrick Niklaus
e6782fd30b Fix travel mode passing from profiles up to the API 2016-03-31 18:58:52 +02:00
Patrick Niklaus
77a4530433 Fix geometries type in steps 2016-03-31 18:58:52 +02:00
Patrick Niklaus
5e1a8d82d6 Fix behaviour of table if sources/destinations arrays are empty 2016-03-31 18:58:52 +02:00
Patrick Niklaus
cf1274de21 Fuck. this. shit. 2016-03-31 18:58:52 +02:00
Patrick Niklaus
e5efee2dd8 Fix stream operator for coordinate 2016-03-31 18:58:52 +02:00
Patrick Niklaus
1d026882f9 Add euclideanDistance to coordinate_calculation 2016-03-31 18:58:52 +02:00
Patrick Niklaus
60d83ccf53 First round of lat,lng -> lng,lat switcheroo 2016-03-31 18:58:52 +02:00
Patrick Niklaus
db170d006a Finish the nearest plugin 2016-03-31 18:58:52 +02:00
Patrick Niklaus
b1d70b8a8c Adapt to feedback in #519 2016-03-31 18:58:52 +02:00
Patrick Niklaus
1b1211092b Add trip plugin 2016-03-31 18:58:52 +02:00
Patrick Niklaus
4e0f2e13bd Hook up map matching 2016-03-31 18:58:52 +02:00
Patrick Niklaus
28961ed593 First compiling version of map_match plugin 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
6a77ac442e Enable all plugins with aStatus::Error return code fallback for not implemented ones 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
130c88bd0c Temporarily comment out match.cpp as to not break the build process 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
f10da205bb Fix classes for service member function definitions 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
247d0d5290 Service skeletons for nearest, trip, match 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
bb5ca42114 Fix grammar constraint and enable all plugin links 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
48008cdc6e Enforce parameter and grammar type to catch subtle bugs 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
3ff86c4536 Link parameters to grammars 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
ce82242004 Require a BaseParameters type at compile time via enable_if 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
d989714007 Adapts Nearest plugin to new API 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
9704ca7a8b Fix deleting incomplete type and make Engine moveable only 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
ec79d1e933 Adapts publicly facing new API 2016-03-31 18:58:52 +02:00
Patrick Niklaus
7d51a76e79 Initial non-building match plugin 2016-03-31 18:58:52 +02:00
Lauren Budorick
5b18278ee5 Include numeric in assemble_overview.cpp (needed on OSX for std::accumulate) 2016-03-31 18:58:52 +02:00
Patrick Niklaus
c57e85f391 Add table service 2016-03-31 18:58:52 +02:00
Patrick Niklaus
59b4a142ec Add table API 2016-03-31 18:58:52 +02:00
Patrick Niklaus
72ebb3acb8 Fix parameter parsing tests 2016-03-31 18:58:52 +02:00
Patrick Niklaus
9e5a300cbb Fix table plugin 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
bf9824502a First take at distance table API re-write 2016-03-31 18:58:52 +02:00
Patrick Niklaus
66d241a2d8 Add viaroute suport for new API 2016-03-31 18:58:52 +02:00
bergwerkgis
d0636a9f6d make AppVeyor work again 2016-03-31 16:49:30 +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
c78dff9a15 Write out unsigned with a check for edge counter overflow 2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
25fea558ba Fixes the edge-based-graph factory's edge counter serialization.
The counter for original edges is of type `std::size_t`, but we
serialized `sizeof(unsigned)` number of bytes out to the `.osrm.edges`
file.

We should probably check all writes (analogous for reads) and make the
count parameter dependent on `sizeof(variable)`.

    ag '\.write\((.*), sizeof\((.*)\)\);'
2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
a6aa0a4cb0 Adapts routed to always print port and ip it listens on, fixed #2097 2016-03-16 11:21:20 +01:00
Daniel J. Hofmann
a013da860e Fixes unneeded includes in contractor header and self-include 2016-03-15 10:44:33 +01:00
akaiser
2cf8309987 Bugfix: set initial uturn indicators 2016-03-14 17:14:01 +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
ae4161b780 Fix extraction in case of ways referencing invalid node ids 2016-03-08 20:59:11 +01:00
Daniel Patterson
13378a4b55 Only attempt to return PBF if the call to the tile plugin actually returned PBF data. This may occur if bad parameters are passed (e.g. zoom level is < 12)) 2016-03-04 17:49:20 -08:00
Patrick Niklaus
ac6218eef2 Simplify EBGF code 2016-03-04 16:37:25 +01:00
Patrick Niklaus
a98cc51ac2 Fix up some PR comments 2016-03-04 16:13:30 +01:00
Daniel Patterson
e595bdb20a More cleanup. 2016-03-03 19:28:48 -08:00
Daniel Patterson
9bd2446901 Cleanup. 2016-03-03 19:27:36 -08:00
Daniel Patterson
27babfec3d Add the uncompressible edges to the compressed edge container during the graph compressor run, rather than in the EdgeBasedGraphFactory. This keeps the logic a lot simpler to follow, although it's not quite as fast. 2016-03-03 18:48:39 -08: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 Patterson
53542abbb7 Disable compression across traffic lights. Previously, we merged the traffic light penalty into the edge weight. When later considering traffic data, we need to be able to update just the edge weight, and it was impossible to extricate the traffic penalty. This increases the number of edge-based-nodes a little bit, but some quick tests show it should only be about 0.1% overall (only affects traffic signals on edges with no intersections (i.e. degree=2)) 2016-03-02 18:00:31 -08:00
Daniel Patterson
fc908d4687 Fix naming of variable so it's a lot less confusing. 2016-03-02 18:00:31 -08:00
Patrick Niklaus
0eaa393065 Limit tile zoomlevel to 12+ 2016-03-02 19:59:49 +01:00
Daniel J. Hofmann
aeee565115 Formats all the files we touch.. 2016-03-01 23:51:25 +01:00
Daniel Patterson
22bf0ead18 We don't need this header. 2016-03-01 23:51:25 +01:00
Daniel Patterson
b9dd6369d4 Remove draft tiler tool, we moved everything into 2016-03-01 23:51:25 +01:00
Daniel Patterson
3d6c0ac512 Remove some commented out code that's not used any more. 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
3869ab6345 Use the correct type when pulling object from variant 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
51ae14ec23 Extra ; 2016-03-01 16:43:34 +01:00
Daniel J. Hofmann
da88cb6a43 Extractor comments wrt. osrm-contract 2016-03-01 16:43:34 +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
bergwerkgis
d38575a011 include lock_types.hpp 2016-02-17 22:54:45 +01:00
karenzshea
6ac3d902c9 update help output test 2016-02-16 18:43:06 +01:00
karenzshea
3beb8c825b cf 2016-02-16 18:43:06 +01:00
karenzshea
b80e96547e remove ini parsing 2016-02-16 18:43:06 +01: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
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
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
5de8f1803c Folds mercator projections into coordinate_calculation 2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
d1c4a26791 Remove .restriction reference 2016-02-11 19:19:28 -08:00
Daniel J. Hofmann
bb06bfbbd7 Same undefined behavior from shifting into the sign bit in Storage 2016-02-08 11:47:44 -08:00
Bas Couwenberg
5e15bceaae Fix 'egdes' typo, replace with 'edges'. 2016-02-07 02:59:44 +01:00
karenzshea
f5c12ec433 comments 2016-01-29 23:49:09 +01:00
karenzshea
262cdd7bc0 move tribool obj into request_parser 2016-01-29 23:49:09 +01:00
Daniel J. Hofmann
a48f02e0da Takes care of proper special member generation globally, fixes #1689
Phew, a lot of classes were affected by this. The rationale for the
changes are as follows:

- When a type X declares any constructor, the default constructor is
  not declared, so there is no need for X() = delete there. In fact,
  there is brutal difference between those two: deleted members
  participate in overload resolution, but not-declared members do not!

- When a type X wants to be non-copyable (e.g. to be only movable, like
  threads, unique_ptrs, and so on), you can either do it by inheriting
  from boost::noncopyable (the old way), or better declare both (!) the
  copy constructor _and_ the copy assignment operator as deleted:

      X(X const&) = delete;
      X& operator=(X const&) = delete;

  We had tons of types with deleted copy constructors that were lacking
  a corresponding deleted copy assignment operator, making them still
  copyable and you wouldn't even notice (read: scary)!

References:

- http://accu.org/content/conf2014/Howard_Hinnant_Accu_2014.pdf
- http://www.boost.org/doc/libs/master/libs/core/doc/html/core/noncopyable.html

Note: I know, I'm quoting Hinnant's extraordinary slides a lot, but
getting the sematic right here is so incredibly important.
2016-01-27 17:25:30 +01:00