Daniel J. Hofmann
b25cd6aaf2
Moving from references is a bad idea in parameter parsers, too
2016-04-08 21:03:50 +02:00
Daniel J. Hofmann
891ff7dd80
Do not modify the end iterator, make const
2016-04-08 21:03:50 +02:00
Moritz Kobitzsch
fcbf527ba5
refactor of turn analysis into turn handlers
2016-04-08 18:14:43 +02:00
Moritz Kobitzsch
dfd180a292
fixing unit tests
2016-04-08 11:21:14 +02:00
Moritz Kobitzsch
fa0a5040e5
adding tests for guidance
2016-04-08 10:43:22 +02:00
Daniel J. Hofmann
43413ff980
Add license to storage and storage config exposed in public API, closes #2036
2016-04-07 10:41:32 +02:00
Moritz Kobitzsch
4d864b8267
fix warnings in compilation on clang
2016-04-06 18:44:42 +02:00
Moritz Kobitzsch
f2443c64db
adds distinction between rotaries/rounabouts
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
eaf9993dd9
Removes summary from legs property
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
470d7600b8
fixes 2219
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
97401ad99a
Disable steps and alternatives by default
2016-04-05 22:59:14 +02:00
Patrick Niklaus
12608889e2
Fix 'ok' -> 'Ok'
2016-04-05 22:59:14 +02:00
Patrick Niklaus
6e50b5fc60
Filter segments correctly by bounding box
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
c6c25e609b
Initial libosrm API docs
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
89d56e1cd1
fix duration of direct connection
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
ef1fb08723
fix cucumber tests and issues
2016-04-05 22:59:14 +02:00
Patrick Niklaus
006a8833d3
Fix some of the accidental forced loops in viaroute
2016-04-05 22:59:14 +02:00
Patrick Niklaus
2c4ba90abb
Remove leftover hello_world and timestamp plugins
2016-04-05 22:59:14 +02:00
Patrick Niklaus
30a9bc3179
Fix mathematical assumptions in StaticRTree
...
StaticRTree now uses projected coordinates internally. That means we can
use a euclidean distance measure (squared distance) for sorting the
query queue.
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
f9350a276c
fix same segment routes
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
2219b6507c
correctly handle roundabouts in a wide set of special cases
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
09931d7ad8
Removes server-side support for POST requests.
2016-04-05 22:59:14 +02:00
Lauren Budorick
49e2cb6c36
Fix raster_source + tests
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
5e6d638c6f
perform zero-length segment removal
2016-04-05 22:59:14 +02:00
Daniel Patterson
5b33efeecc
Fixes #2152 - weight vector needed to be reversed, and start index was wrong.
2016-04-05 22:59:14 +02:00
Patrick Niklaus
fda4656630
Implement re-enabling of PhantomNode directions after bearing filtering
2016-04-05 22:59:14 +02:00
Patrick Niklaus
5829bbe22d
Move Centroid to coordinate_calculation
2016-04-05 22:59:14 +02:00
Patrick Niklaus
1fd66f55c1
Fix problem with uturns=true
2016-04-05 22:59:14 +02:00
Patrick Niklaus
a964bec0f8
Add route fixture test
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
df608e8b43
Makes switching between floating and fixed coordinates safe wrt. overflows
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
8e477437a6
Makes viewport immune to inf and nans
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
4441381042
Mismatched tag in fwd decl
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
61c9c69718
Make unit tests compile again after rebasing
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
5beaab97da
Make Tile plugin validate its parameters, fixes #2109
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
803fbf2541
Sentinel spelling
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
0f0db4c823
Provide correct Base64 implementation.
...
Phew, this was painful. Turns out most hints out there on how to use the
Boost serialization iterators are wrong. Here's why:
transform_width<6, 8>
needs an input stream of length: common multiple of 6 and 8.
That is, the padding needs to happen _before_ using the provided
iterators, otherwise the behavior is undefined!
See: http://www.boost.org/doc/libs/1_60_0/boost/archive/iterators/transform_width.hpp
Thanks @mokob for pointing that out to me!
We also need to manually add as many padding chars "=" to the encoded
result as many bytes we had to append to the input to conform to the
rule above.
Decoding then knows the number of padding chars by counting for "=" and
then using it in order to split off the last bytes from the decoded
result.
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3c5f6bd8ac
Makes hint Equatable and Printable for tests
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
a7aa27c87c
Completely re-write base64 logic, make API suck less in doing so
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
735b325d74
RFC 4648 Test Vectors
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
f948380fa2
Object Encoder -> Base64, kill false dependencies while doing so
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
79cf1880fc
Adapts Hint encoding and decoding to new fixed data facade
2016-04-05 22:58:32 +02:00
Patrick Niklaus
d67ce81438
Fix hint size
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
51a4cf5e46
syncronize geometry and steps after post-processing
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
2472c5d6a1
added list of intersections to the step-maneuver, not in api so far
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
59fbb289b9
fix initial maneuvers
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
e82bc20422
post processing moved onto route-steps, looses sync with geometry segments
2016-04-05 22:58:32 +02:00
Patrick Niklaus
1e753e98ce
Simplify the timestamp handling
2016-04-05 22:58:32 +02:00
Patrick Niklaus
39b3cab1da
Check all streams
2016-04-05 22:58:32 +02:00
Patrick Niklaus
87fbfc6475
std::string -> boost::filesystem::path
2016-04-05 22:58:32 +02:00
Patrick Niklaus
cb8bfa027e
Only allow to specify the common base path
2016-04-05 22:58:32 +02:00
Patrick Niklaus
38db495879
Address PR comments
...
Renamed lua_function_exists and removes unused print function
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a781c36876
Use uturn default from .properties file
2016-04-05 22:58:32 +02:00
Patrick Niklaus
71c336d9dd
Adds .properties file to osrm-extract ouput
...
This file contains global properties set by the lua
profile, such as enabling uturns at vias and penalties.
This file will be consumed by the server.
2016-04-05 22:58:32 +02:00
Patrick Niklaus
e10e8910f3
Use global uturns parameter.
...
Instead of previously per-via settings like uturns=true;false;true;; it
now only supports a global setting uturns=true.
2016-04-05 22:58:32 +02:00
Patrick Niklaus
30a3ab68c0
Make gcc 4.8 happy and disable protected because of lambdas
2016-04-05 22:58:32 +02:00
Patrick Niklaus
879ccfc8c2
Implement viewport code to fix simplification
...
This fixes #2083
2016-04-05 22:58:32 +02:00
Patrick Niklaus
50738f8ce0
Consolidate math functions
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5c01878542
get_name_for_id -> GetNameForID
2016-04-05 22:58:32 +02:00
Patrick Niklaus
ea93f6f560
Simplfy name change announcement
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
0cc23dec6f
restructured to only return valid turns to the outside + cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
71c0d5253d
less new names, forks consider road classes, api clean-up
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
a674028c37
implement basic turn handling
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
29fff4f51b
implements relative position feature based on coordinates
2016-04-05 22:58:32 +02:00
Patrick Niklaus
4309ccfa02
Don't sum up durations of merged steps since we do that in a different place now
2016-04-05 22:58:32 +02:00
Patrick Niklaus
4e8fe89faa
Fix foward/backwad swap
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0f04fe75bd
Fixup for last commit
2016-04-05 22:58:32 +02:00
Daniel Patterson
11b356e55f
Enables the use of multiple segment-speed-files on the osrm-contract
...
command line, and exposes the file name used for each edge in the debug
tiles.
2016-04-05 22:58:32 +02:00
Patrick Niklaus
80f008684d
Fix ingestion fixed duration values from UnpackPath
2016-04-05 22:58:32 +02:00
Patrick Niklaus
c9c2d8133c
Fix durations in UnpackPath
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
c439594403
report depart/arrive in addition to waypoint
2016-04-05 22:58:32 +02:00
Patrick Niklaus
29cf9e05db
Only install necessary headers
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
298f68c966
Adds the license preamble for all publicly installed eaders, closes #2036
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0b3289ea37
Remove the encoder/decoder dependecy from Hint
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5f457bff12
Rename alternative -> alternatives
2016-04-05 22:58:32 +02:00
Patrick Niklaus
6c00ccca9a
Remove obsolete debug information
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
eb3f550e26
encapsulated into class
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
06aa6dedab
improving fork handling on three-way turns
2016-04-05 22:58:32 +02:00
Patrick Niklaus
5e5f72ae57
Don't pass down unsnapped coordinates. All information is already there
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
9e95d1f1fd
fixes assignment for basic turn types / invalid ramp assignment
2016-04-05 22:58:32 +02:00
Patrick Niklaus
e7ea5f500d
Don't pass shared_ptr down to functions
...
"Don’t pass a smart pointer as a function parameter unless you want to
use or manipulate the smart pointer itself, such as to share or transfer
ownership."
Source:
http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a8fc95d4e4
Move bearing to public namespace
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3f598a5121
Properly includes needed headers in turn analysis interface
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
81c5ec0777
Const-correctnes for compressed geometry iterator
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
32bb58b272
Use stdint and using type-alias for discrete angle
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
aa4b786ab3
Hide functional road classification based on tags in implementation file
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3f5968b60c
Inline initialize functional road classification hash table
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
251eeb534a
256 functional road classes should be enough
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
90add9f840
Moves route assembly into implementation file
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
770624d492
Fixes remaining engine/guidance includes
2016-04-05 22:58:32 +02:00
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
01318a08b4
start of four way turns
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
119487f1aa
improved fork handling
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
58fb633df3
Add support for tile plugin
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
8eb98982f3
Fix travel mode passing from profiles up to the API
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
804816f014
Fix table parameter parsing
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
72094acf74
Change stream operator of strong typedef
2016-04-05 22:58:32 +02:00
Patrick Niklaus
30101e129f
Add stream operator to Rectangle
2016-04-05 22:58:32 +02:00
Patrick Niklaus
9bb31678a6
Add euclideanDistance to coordinate_calculation
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
Dane Springmeyer
c8457a2619
Fix compile on OS X
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
beafa18708
Fix forward declarations in publicly facing osrm header
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
1895fee1c9
Adds publicly facing alias headers for parameters
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
4d20dea271
Service skeletons for nearest, trip, match
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c59647ad2f
Fix grammar constraint and enable all plugin links
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
e466cbe0ce
Plugin grammar skeletons
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
a24de2d22a
Enforce parameter and grammar type to catch subtle bugs
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
f452a3025d
Link parameters to grammars
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
3c58eaf49f
Require a BaseParameters type at compile time via enable_if
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
Daniel J. Hofmann
7bec75b709
Semantic action handler requires passing optional by value and fusion::vector2
2016-04-05 22:58:32 +02:00
Patrick Niklaus
56ea24b03b
Add tests for bearing parsing
2016-04-05 22:58:32 +02:00
Patrick Niklaus
277829c280
Add table service
2016-04-05 22:58:32 +02:00
Patrick Niklaus
c127aaae6b
Add table API
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c895848061
Optional<T> semantic action handler takes T argument
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
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
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