karenzshea
c937d20e48
unit tests for geojson validation
2017-06-02 10:00:07 +02:00
karenzshea
ca353eb7db
refactor timezoner a bit for unit tests, add initial unit tests
2017-06-02 10:00:07 +02:00
karenzshea
f268163ea0
remove shapefile dependency from build
2017-06-02 10:00:07 +02:00
karenzshea
6f41e3faf1
fixes to get compiling
2017-06-02 10:00:07 +02:00
karenzshea
aed2c0124a
rapidjson steppin in
2017-06-02 10:00:07 +02:00
Moritz Kobitzsch
ceaf065d0e
don't collapse highway ramps into uturns ( #4074 )
2017-06-01 12:39:10 +02:00
Michael Krasnyk
d262c4dfaa
[skip ci] Add comments about order of post-processing calls
2017-06-01 11:13:31 +02:00
FILLAU Jean-Maxime
98ad9d8b61
Refactoring enum Approach in enum class.
...
Suppress "engine::"
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
c573cdb0ae
Use formating script.
...
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
82a149eb87
Propagating approach parameter to every phantom nodes search function.
...
Propagating approach parameter for plugins :
- tabler
- nearest
- trip
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
089c98a107
Adding support for left left hand driving.
...
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
17a73e3979
Add NodeJS API for Approaches param.
...
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
f65299d665
Rename side API
...
Side -> Approach
- DEFAULT -> CURB
- BOTH -> UNRESTRICTED
- remove OPPOSITE param
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
ec7934ea33
Change qi::lit for qi::symbols for the sides parameter parser.
...
Refactor code :
- Suppress StartSide Enum
- Change Side Structure for Enum
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
2de17f3fd0
Adding url unit test for "sides" parameters
...
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
8e70c87e64
New "sides" setting in base parameters for phantom nodes.
...
- Adding sides parameter into base parameters, it can take the values SIDE, OPPOSITE or DEFAULT.
- Adding url parser for "sides" parameter, url values are "s" for SIDE, "o" for OPPOSITE and "d" for DEFAULT, example : "sides=s;s".
- Checking parameters, if "sides" parameter is used, the number of parameter is the same as number of location.
- Create a phantom to start at side driving or Opposite side driving.
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
Patrick Niklaus
579a1ed42e
Don't copy the object on WriteOne
2017-05-29 15:09:36 +00:00
Daniel Patterson
7eab227ab1
Use FileWriter for better error handling when writing name data.
2017-05-29 15:09:36 +00:00
Daniel Patterson
382a5cebab
Use FileWriter for writing LeafNode data to improve error handling.
2017-05-29 15:09:36 +00:00
Daniel Patterson
c21a476b00
Overridden virtual function should be marked as override final.
2017-05-26 09:15:34 +00:00
Daniel Patterson
25c870dc57
Unused padding doesn't need to be named, removing name silences compiler warnings.
2017-05-26 09:15:34 +00:00
Daniel Patterson
8655c61ec2
Remove variable name for unused parameters to silence compiler warnings.
2017-05-26 09:15:34 +00:00
Michael Krasnyk
47f2f17987
Change order of guidance post-processing, fix #4030
2017-05-23 14:35:23 +02:00
Daniel Patterson
570d81c6dd
Bypass boost::numeric_cast checks for coordinate values that have already been validated ( #4059 )
...
(i.e. stuff that's stored in our datafiles). Keep those checks for user-supplied values
(i.e. coordinates coming from files during preprocessing, or coordinates supplied by users
during requests)
2017-05-19 10:52:44 -07:00
Patrick Niklaus
3599d1db8e
Switch code to use packed vector for segment weights/durations
2017-05-19 08:25:03 +00:00
Daniel J. Hofmann
403db7cc84
Lets MakeResponse(Route) explicitly call MakeResponse(ManyRoutes) in Route API
...
https://github.com/Project-OSRM/osrm-backend/pull/4035#discussion_r116890340
2017-05-18 10:54:32 +02:00
Michael Krasnyk
7a4c5a64fa
Simplify angleBetween to avoid cancellation losses
2017-05-17 15:52:11 +00:00
Michael Krasnyk
14db5f8d1f
Fix OSRM_ASSERT_MSG compilation fail in Release mode
2017-05-17 15:52:11 +00:00
Michael Krasnyk
e4b58c1258
Reverted connection of forward and backward nodes in one SCC
2017-05-17 15:21:51 +00:00
Michael Krasnyk
5e2e1d4c96
Renamed EdgeBasedNode to EdgeBasedNodeSegment
2017-05-17 15:21:51 +00:00
Michael Krasnyk
1a7cd785f2
Rename .nodes -> .nbg_nodes and .nodes_data -> .ebg_nodes
2017-05-17 15:21:51 +00:00
Michael Krasnyk
65de940882
Change EdgeBasedNodeDataExternalContainer to EdgeBasedNodeDataContainer
2017-05-17 15:21:51 +00:00
Michael Krasnyk
26702920b4
Move ComponentID to EdgeBasedNodeDataContainer
2017-05-17 15:21:51 +00:00
Michael Krasnyk
373087d74f
Initialize unused bits in PhantomNode
2017-05-17 15:21:51 +00:00
Michael Krasnyk
ca6b1b39b7
Remove data duplicates in .node file
2017-05-17 15:21:51 +00:00
Michael Krasnyk
8934167e76
Merge part of .nodes fields into .nodes_data
2017-05-17 15:21:51 +00:00
Patrick Niklaus
6bd724fe24
Rewrite packed vector to also allow random access
...
This fixes issues #3952 . The new approach pre-computes masks for fast
access. Since elements can potentially span multiple words we need masks
and offsets for each upper and lower word.
Due to a bug in the C++14 standart the mask computation is not
recognized as constexpr, but would work on C++17.
2017-05-16 10:25:29 +00:00
Daniel J. Hofmann
e064a9334b
Lifts restriction to only provide zero or one alternative routes
2017-05-12 13:54:22 +02:00
Daniel J. Hofmann
e12c7756d9
Weight-ifies alternatives related code-paths
2017-05-12 13:54:22 +02:00
Karen Shea
799a677e7a
Conditional turn restriction support ( #3841 )
...
* optionally include condition and via node coords in InputRestrictionContainer
* only write conditionals to disk, custom serialization for restrictions
* conditional turn lookup, reuse timezone validation from
extract-conditionals
* adapt updater to use coordinates/osm ids, remove internal to external map
* add utc time now parameter to contraction
* only compile timezone code where libshp is found, adapt test running
* slight refactor, more tests
* catch invalid via nodes in restriction parsing, set default cucumber
origin to guinée
* add another run to test mld routed paths
* cosmetic review changes
* Simplify Timezoner for windows build
* Split declaration and parsing parts for opening hours
* adjust conditional tests to run without shapefiles
* always include parse conditionals option
* Adjust travis timeout
* Added dummy TZ shapefile with test timezone polygons
* [skip ci] update changelog
2017-05-11 12:13:52 +02:00
Michael Krasnyk
12f47708cd
Adjust method and function names
2017-05-11 09:13:42 +00:00
Michael Krasnyk
9358aa1128
Disable nodes with invalid segments
2017-05-11 09:13:42 +00:00
Patrick Niklaus
2f02384d22
Disbale boost::interprocess condition variables on Linux to fix issue #3911
2017-05-08 09:15:01 +00:00
Michael Krasnyk
ccb8a07dc7
Hide qi namespace alias
2017-05-05 22:15:05 +00:00
Michael Krasnyk
6b103c6d0b
Add zero file size check
2017-05-05 22:15:05 +00:00
Michael Krasnyk
669ac058b8
Print diagnostic information to avoid boost cryptic errors
2017-05-05 22:15:05 +00:00
Michael Krasnyk
e92967167f
Use mapped_file_source for CSV files
2017-05-05 22:15:05 +00:00
Michael Krasnyk
c66f67ac07
Updated assertions to catch negative duration values for weights > 0
...
but still clamping negative duration values at 0 without checking weights
2017-05-04 21:03:45 +00:00
Michael Krasnyk
334a7b50cd
Use rectified linear unit to prevent negative duration values
2017-05-04 21:03:45 +00:00
Michael Krasnyk
a9d3e61884
Fix minor review comments
2017-05-03 21:59:38 +00:00
Michael Krasnyk
88082c48cf
Remove GetEdgeBasedNodeID from TurnDataContainer
2017-05-03 21:59:38 +00:00
Michael Krasnyk
40d0297885
Added unpacked_nodes vector to annotatePath interface
2017-05-03 21:59:38 +00:00
Michael Krasnyk
be1acae20c
Use edge_id as index in ebg_node_data_container
2017-05-03 21:59:38 +00:00
Michael Krasnyk
f1e4349c82
Move geometry ids, name_ids and travel_modes to EdgeBasedNodeData
2017-05-03 21:59:38 +00:00
Michael Krasnyk
07c7cb3c6c
Rename BinaryHeap to QueryHeap
2017-05-02 15:54:25 +00:00
Michael Krasnyk
358aebec4d
Decrease memory footprint of HeapHandle from 32 to 24 bytes
2017-05-02 15:54:25 +00:00
Michael Krasnyk
05826150f6
Use boost::heap::d_ary_heap
2017-05-02 15:54:25 +00:00
Patrick Niklaus
0e39aa9488
Address PR comments
2017-04-24 16:04:41 +00:00
Patrick Niklaus
8ec0745883
Add benchmark
2017-04-24 16:04:41 +00:00
Patrick Niklaus
c446b017ef
Switch from macro based StrongTypedef to template version
2017-04-24 16:04:41 +00:00
Patrick Niklaus
814324146b
signed -> unsigned
2017-04-20 14:58:26 +00:00
Patrick Niklaus
11d8b2ba5a
Add clipping for 20 bits to SegmentWeight/SegmentDuration
2017-04-20 14:58:26 +00:00
Patrick Niklaus
d6c6a262d8
Use 16bit for SegmentWeight and SegmentDuration
2017-04-20 14:58:26 +00:00
Patrick Niklaus
e96545be2e
Disable is_integral check because it fails for strong-type-def
2017-04-18 17:24:46 +00:00
Patrick Niklaus
609801ae99
Fix PR comments
2017-04-18 17:24:46 +00:00
Patrick Niklaus
a66918a303
Make PackedVector generic
2017-04-18 17:24:46 +00:00
Pepijn Schoen
8ff5a22799
clang-format
2017-04-18 12:01:06 +00:00
Pepijn Schoen
4929d1297e
Address PR comments
2017-04-18 12:01:06 +00:00
Pepijn Schoen
b830a8f942
Replace Count32 with Count64
2017-04-18 12:01:06 +00:00
Pepijn Schoen
a196d5ced3
Fingerprint .timestamp, normalize use of Size / GetSize and make that function Fingerprint-aware
2017-04-18 12:01:06 +00:00
Pepijn Schoen
802af08179
Fingerprint .core
2017-04-18 12:01:06 +00:00
Pepijn Schoen
85ec50552d
fingerprint .ramIndex / tree nodes
2017-04-18 12:01:06 +00:00
Pepijn Schoen
8da96f8d94
fingerprint .tld
2017-04-18 12:01:06 +00:00
Pepijn Schoen
5b9d858f57
Fingerprint .edges
2017-04-18 12:01:06 +00:00
Pepijn Schoen
023242ec03
Fingerprint geometries
2017-04-18 12:01:06 +00:00
Pepijn Schoen
683e53e950
Fingerprint .osrm.datasource_names
2017-04-18 12:01:06 +00:00
Pepijn Schoen
df0ee955e8
Fingerprint and move .levels
2017-04-18 12:01:06 +00:00
Daniel Patterson
771834793f
Only log components in Debug mode, it's very wordy and not really useful ( #3948 )
...
for Release builds.
Log component counts at the end of the SCC run.
2017-04-17 16:49:26 -07:00
Michael Krasnyk
3915c1286b
Don't remove the last original coordinate during tiding
2017-04-13 21:27:00 +00:00
Patrick Niklaus
b422b636d3
Remove boost::make_unique to fix travis node builds
2017-04-13 21:19:09 +00:00
Michael Krasnyk
59b70c4d11
Make CoreCH SearchEngineData inherited from CH one
...
this allows to keep a single Algorithm template parameter in internal
interfaces as
template <typename Algorithm>
search(SearchEngineData<Algorithm> &,
const datafacade::ContiguousInternalMemoryDataFacade<Algorithm> &, ...)
2017-04-12 10:54:09 +00:00
Michael Krasnyk
f96bae40ac
Remove unused {forward,reverse}_heap_2 in MLD engine data
2017-04-12 10:54:09 +00:00
Michael Krasnyk
ba974c73bf
Remove CoreCH heaps
2017-04-12 10:54:09 +00:00
Michael Krasnyk
e498ad3ee7
Make explicit fallback to CH heaps in CoreCH algorithms
2017-04-12 10:54:09 +00:00
Michael Krasnyk
1de031ed06
Remove {forward,reverse}_core_heap arguments from search interface
2017-04-12 10:54:09 +00:00
Michael Krasnyk
37794a5e8a
Change traffic CSV field value from weight to rate
...
and make the value required.
If the weight name is 'duration' than the rate value
can be computed as speed / 3.6
Issue: https://github.com/Project-OSRM/osrm-backend/issues/3823
2017-04-11 14:55:56 +00:00
Patrick Niklaus
a88fef2937
Implement distance pruning for MLD as well
2017-04-10 17:25:55 +00:00
Patrick Niklaus
da474a16a9
Fix formating
2017-04-10 17:25:02 +00:00
Patrick Niklaus
59bbfeb67f
Buffer turn data on disk to save memory
2017-04-10 17:25:02 +00:00
Patrick Niklaus
85454857d3
Use default move function
2017-04-06 15:42:38 +00:00
Patrick Niklaus
fe50f6590a
Fix formating
2017-04-06 15:42:38 +00:00
Patrick Niklaus
2da5da3f16
Don't leak ownership in partition/files
2017-04-06 15:42:38 +00:00
Patrick Niklaus
446c865415
Dont leak ownership in extractor::files
2017-04-06 15:42:38 +00:00
Patrick Niklaus
0072bf0c59
Move to forward declare header
2017-04-06 15:42:38 +00:00
Patrick Niklaus
4ec7ca29f1
Fix formating
2017-04-06 15:42:38 +00:00
Patrick Niklaus
d94017dfae
No shared_memory_wrapper, (De)SerializeVector
2017-04-06 15:42:38 +00:00
Patrick Niklaus
dce0ce0e17
Fix readGraph to not use UseSharedMemory
2017-04-06 15:42:38 +00:00
Patrick Niklaus
7f6e0c478b
Split QueryNode into coordinates and osm id
2017-04-06 15:42:38 +00:00
Patrick Niklaus
786a3d8919
Read multi level graph to view
2017-04-06 15:42:38 +00:00
Patrick Niklaus
ef3fcdc6e6
Refactor graph writing code in contractor
2017-04-06 15:42:38 +00:00
Patrick Niklaus
90c194fc81
Refactor turn description into own file
2017-04-06 15:42:38 +00:00
Patrick Niklaus
5ed686a17b
Add generic graph serialization
2017-04-06 15:42:38 +00:00
Patrick Niklaus
c87ce2dede
Load data directly into MLPView
2017-04-06 15:42:38 +00:00
Patrick Niklaus
99a87b4c83
Change serialisation of .geometries file.
2017-04-06 15:42:38 +00:00
Patrick Niklaus
3f5fc1e897
Read segment data directly into shm
2017-04-06 15:42:38 +00:00
Patrick Niklaus
97d1de1beb
Pull turn data up into server
2017-04-06 15:42:38 +00:00
Patrick Niklaus
d7e1c9c09c
Refactor turn data into own class
2017-04-06 15:42:38 +00:00
Patrick Niklaus
865111bca9
Split partition serialization logic
2017-04-06 15:42:38 +00:00
Patrick Niklaus
08d62cd5e3
Separate serialization and files in extractor
2017-04-06 15:42:38 +00:00
Michael Krasnyk
98948989d0
implement MLD map matching
2017-04-06 11:17:23 +00:00
Michael Krasnyk
1aa8cc3b65
make getPathDistance algorithm-independent
2017-04-06 11:17:23 +00:00
Michael Krasnyk
c487d1307e
enable map matching in MLD
2017-04-06 11:17:23 +00:00
Michael Krasnyk
7726576bb7
use ADL and explicit instantiation for map matching
2017-04-06 11:17:23 +00:00
Michael Krasnyk
cf17a3a4c3
PR review adjustments
2017-04-06 10:36:40 +02:00
Michael Krasnyk
0972ec9115
remove CH-related part of loops forcing
2017-04-06 10:36:40 +02:00
Michael Krasnyk
cab83555e1
add loops forcing to MLD search
2017-04-06 10:36:40 +02:00
Michael Krasnyk
48a098a9c7
implement MLD shortest path plugin
2017-04-06 10:36:40 +02:00
Michael Krasnyk
905ca69301
add Algorithm parameter to SearchEngineData
2017-04-06 10:36:40 +02:00
Michael Krasnyk
d66cc125aa
make first heaps algorithm-aware
2017-04-06 10:36:40 +02:00
Michael Krasnyk
3fc0fc65f9
don't disable algorithms explicitly
2017-04-06 10:36:40 +02:00
Michael Krasnyk
8c64b01d67
itroduce ADL via algorithm specific ch, corech and mld namespaces
2017-04-06 10:36:40 +02:00
Michael Krasnyk
2566f64c34
fix unused variable warning
2017-04-06 10:36:40 +02:00
Patrick Niklaus
45df8568b6
Fix formating
2017-04-05 11:22:39 +00:00
Patrick Niklaus
0da041477b
Adjust generation counted array for PR comments
2017-04-05 11:22:39 +00:00
Patrick Niklaus
272ea9b92e
Fix test compilation
2017-04-05 11:22:39 +00:00
Patrick Niklaus
571681d019
Use array heap
2017-04-05 11:22:39 +00:00
Patrick Niklaus
9b614c6057
Add generation counted storage
2017-04-05 11:22:39 +00:00
Patrick Niklaus
721f319909
Don't scan back clique arcs
2017-04-05 11:22:39 +00:00
Pepijn Schoen
789311abd6
Remove osrm namespace indication where possible, wrap out shared_memory_ownership
2017-04-04 17:00:36 +00:00
Pepijn Schoen
091a495632
clang-format
2017-04-04 17:00:36 +00:00
Pepijn Schoen
16665aeb00
Renaming of MemorySetting > Ownership
2017-04-04 17:00:36 +00:00
Pepijn Schoen
d6e56c38d5
Rename SharedMemoryWrapper to vector_view
2017-04-04 17:00:36 +00:00
Pepijn Schoen
87874006c7
rename to vector_view, replace some missing ShM occurences
2017-04-04 17:00:36 +00:00
Pepijn Schoen
703588b684
clang-format
2017-04-04 17:00:36 +00:00
Pepijn Schoen
b21ee1b63b
Fixed regression
2017-04-04 17:00:36 +00:00
Pepijn Schoen
427437d49b
Use a one-time defined generic signature for SharedMemoryVectors
2017-04-04 17:00:36 +00:00
Pepijn Schoen
01deefc3bc
First pass at adjustment for comments
2017-04-04 17:00:36 +00:00
Pepijn Schoen
157ca9161f
clang-format
2017-04-04 17:00:36 +00:00
Pepijn Schoen
266e65e6d2
Replace bool for using shared memory with MemorySetting enum
2017-04-04 17:00:36 +00:00
Patrick Niklaus
273fd689ce
Always check local variables
2017-03-30 20:12:07 +00:00
Patrick Niklaus
614398ed6c
Integrate MLD in node bindings
2017-03-30 20:12:07 +00:00
Michael Krasnyk
2cd4ba9a0a
move split_edges to global properties
2017-03-30 11:20:13 +02:00
Michael Krasnyk
dbc6535221
add split_edge flag in extracted ways
2017-03-30 11:20:13 +02:00
Michael Krasnyk
c03f74d8b0
Remove unused id parameter
2017-03-28 10:40:13 +00:00
Patrick Niklaus
3439b21177
Fix internal edges for nodes not in the boundary
2017-03-28 10:40:13 +00:00
Michael Krasnyk
3dcc7132b6
Add max-cell-sizes option to partitioner
2017-03-28 11:53:14 +02:00
Daniel Patterson
379380abd8
These don't need to be warning messages, debug is sufficient.
2017-03-22 10:41:10 +00:00
Lev Dragunov
497709da13
Review fixes
2017-03-22 10:39:36 +00:00
Lev Dragunov
221cd00b1a
Remove redundant bitsetting
2017-03-22 10:39:36 +00:00
Lev Dragunov
cce4f6344c
TODO fixes
2017-03-22 10:39:36 +00:00
Lev Dragunov
ef308ac53a
Compilation fix.
2017-03-22 10:39:36 +00:00
Lev Dragunov
2fab696bb3
New tidying and gaps parameters.
2017-03-22 10:39:36 +00:00
Lev Dragunov
69422cc4e7
Clang formatting.
2017-03-22 10:39:36 +00:00
Lev Dragunov
e9c0987e8a
Integration #3149 and #3815
2017-03-22 10:39:36 +00:00
Daniel J. Hofmann
bd9eb76a2d
Transparently Tidy Traces in Map Matching, resolves #2840 .
...
The Map Matching plugin currently has issues with:
- high frequency traces and (performance)
- blobs, think noise at traffic signals (correctness)
This changeset implements trace-tidying transparently for the user.
We hopefully will see both performance gains as well as better matches!
2017-03-22 10:39:36 +00:00
Lev Dragunov
441eae9df2
Tidying prarameter for the map matching plugin.
2017-03-22 10:39:36 +00:00
Daniel J. Hofmann
2351b5a084
Merges node-osrm into repository
...
Build with
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_NODE_BINDINGS=On -DENABLE_MASON=On
2017-03-21 20:10:39 +00:00
Patrick Niklaus
810e3c6a66
Add comment to explain branch
2017-03-21 16:23:10 +00:00
Patrick Niklaus
98529ee071
Apply clang format
2017-03-21 16:23:10 +00:00
Patrick Niklaus
b085add973
Integrate internal cell scan into customizer
2017-03-21 16:23:10 +00:00
Patrick Niklaus
2b397942fe
Fix bug and add test coverage for GetInternalEdgeRange
2017-03-21 16:23:10 +00:00
Patrick Niklaus
655ca803d8
Adds a special graph for MLD with effcient boundary scan
...
This graph enables efficient boundary edge scans at each level.
Currenly this needs about |V|*|L| bytes of storage.
We can optimize this when the highest boundary nodes ID is << |V|.
2017-03-21 16:23:10 +00:00
Patrick Niklaus
58681fa7ea
Refactor StaticGraph generation
2017-03-21 16:23:10 +00:00
Michael Krasnyk
78a199e2fb
Add read-only max_turn_weight in ProfileProperties
2017-03-20 20:06:51 +01:00
Michael Krasnyk
79ef204e1f
Change edge_id to from_clique_arc in MultiLayerDijkstraHeapData
2017-03-17 13:20:34 +01:00
Michael Krasnyk
f1b88adebe
Avoid dynamic binding in getNodeQureyLevel
2017-03-17 13:20:34 +01:00
Michael Krasnyk
0c6ce6ce08
Implement MLD routingStep with cell restriction and without
2017-03-17 13:20:33 +01:00
Michael Krasnyk
a75fd560d7
Use correct upper bound condition for MLD routing
2017-03-17 13:20:33 +01:00
Michael Krasnyk
152f77b665
Remove level field from heap node data
2017-03-17 13:20:33 +01:00
Michael Krasnyk
6586737835
Fix weights and annotations for phantom points on one segment
2017-03-17 12:27:48 +01:00
Michael Krasnyk
81771a3bfd
Fix cell storage for tiny maps
2017-03-17 12:27:47 +01:00
Michael Krasnyk
c648711f30
MLD direct shortest path plugin
2017-03-17 12:27:47 +01:00
Michael Krasnyk
6829f46c31
Split routing_base into CH and non-CH parts
2017-03-17 12:27:47 +01:00
Michael Krasnyk
43a7e8e08a
Rename {id|edge_id} to turn_id
2017-03-17 12:27:47 +01:00
Patrick Niklaus
57c6c6e51c
Remove all boundary nodes and use simple u-v-stragtegy to pick id
...
This commit removes all occurences of unconnected boundary nodes
and switches to the simple heuristic of picking U for the forward
and V for the backward node. This performs better than several
fancy heuristics.
2017-03-17 11:23:48 +00:00
Patrick Niklaus
bf6698f4cc
Address @daniel-j-h PR commtents
2017-03-17 11:19:58 +00:00
Patrick Niklaus
44757729b7
Ignore --generate-edge-lookup and not list it anymore
2017-03-17 11:19:58 +00:00
Patrick Niklaus
eb2e4d0aaf
Load edge based graph to memory in one block and then update
2017-03-17 11:19:58 +00:00
Patrick Niklaus
ed143b503d
Consolidate data loading
2017-03-17 11:19:58 +00:00
Patrick Niklaus
809d8a7d03
Remove duration fallback for turn penalties to simplify logic
2017-03-17 11:19:58 +00:00
Patrick Niklaus
acbaecf45d
Remove .osrm.edge_segment_update not needed anymore
2017-03-17 11:19:58 +00:00
Patrick Niklaus
2df02aa301
Make segment data update work without rtree
2017-03-17 11:19:58 +00:00
Patrick Niklaus
907f933a54
Add update functionality to osrm-customize
...
All speed file flags are compatible with osrm-contract.
2017-03-13 23:04:45 +00:00
Patrick Niklaus
a636e8cc13
Include datasources in .geometries file and refactor .datasource_names
2017-03-10 20:40:59 +00:00
Patrick Niklaus
ffd6311e7d
Address PR comment by @oxidase
2017-03-10 14:43:02 +00:00
Patrick Niklaus
260a84b94b
Simplify write/read code
2017-03-10 14:43:02 +00:00
Patrick Niklaus
fb552fd751
Apply clang-format
2017-03-10 14:43:02 +00:00
Patrick Niklaus
94e2a8598d
Address PR comments
2017-03-10 14:43:02 +00:00
Patrick Niklaus
4986f5ea2d
Consolidate read/write code in updater for compressed geometries
2017-03-10 14:43:02 +00:00
Patrick Niklaus
1b5ab37dfd
Refactor compressed geometry in own abstraction with read/write
2017-03-10 14:43:02 +00:00
Patrick Niklaus
83820bf82c
Split CSV parsing into nicer interface
2017-03-10 14:43:02 +00:00
Patrick Niklaus
20e028c47b
Split updater code from contract into own module
2017-03-10 14:43:02 +00:00
Michael Krasnyk
bc43229055
Make ColumnIterator a random_access_iterator, fixes #3792
2017-03-09 19:06:09 +00:00
Pepijn Schoen
c7fc36a61b
Normalize file writes
2017-03-09 14:16:41 +00:00
Michael Krasnyk
0a13390ab0
Compute correct speed values in tile plugin
2017-03-09 11:18:53 +00:00
Mateusz Łoskot
e13ba8ba11
Add basic facades for Extractor and Contractor run methods.
...
Based on idea suggested in comments to #3776 , simplifies
use of extractor and contractor as libraries.
2017-03-08 22:48:03 +00:00
Michael Krasnyk
dff8c48842
added reading cell storage in customizer
2017-03-08 16:08:00 +00:00
Michael Krasnyk
ec3cda32fa
moved basic type definitions to osrm namespace
2017-03-08 16:08:00 +00:00
Michael Krasnyk
3f6ae245f6
Added osrm-customizer tool
2017-03-08 16:08:00 +00:00
Michael Krasnyk
bc2e06502e
Added cells customizer
2017-03-08 16:08:00 +00:00
Michael Krasnyk
264cec12e9
Fix reading MLD data into shared memory block
2017-03-08 00:56:50 +00:00
Michael Krasnyk
6f9aea4e56
fix clang format style
2017-03-08 00:56:50 +00:00
Michael Krasnyk
d575561d39
adjust free functions naming style
2017-03-08 00:56:50 +00:00
Michael Krasnyk
f42136637d
Add edge-based graph loading in MLD facade
2017-03-08 00:56:50 +00:00
Michael Krasnyk
5bb933dd84
allows msb computation only for unsigned types
2017-03-08 00:56:50 +00:00
Patrick Niklaus
a92fa257af
Fix off-by-one in fallback MSB function
2017-03-08 00:56:50 +00:00
Patrick Niklaus
6cb401b1ff
Run clang-format
2017-03-08 00:56:50 +00:00
Patrick Niklaus
8ad9a0aa9a
parameterize cell size
2017-03-08 00:56:50 +00:00
Patrick Niklaus
8f9e980945
Add class to translate from bisection ids to cell ids
2017-03-08 00:56:50 +00:00
Patrick Niklaus
517b27bfc3
Instead of hard fail, just print the number of unconneced nodes
2017-03-08 00:56:50 +00:00
Patrick Niklaus
00d01946cd
Moved MultiLevelPartition and CellStorage to partition namespace
2017-03-08 00:56:50 +00:00
Patrick Niklaus
694bf9d8b1
Integrate CellStorage into datafacade
2017-03-08 00:56:50 +00:00
Patrick Niklaus
ef71cc0d12
Clang format
2017-03-08 00:56:50 +00:00
Patrick Niklaus
108fce896b
Pull everthing in the facades
2017-03-08 00:56:50 +00:00
Michael Krasnyk
ff0a98196f
Initial interation on writing out MLD partition/cell data
2017-03-08 00:56:50 +00:00
Patrick Niklaus
757e7ca936
First step towards mld integration
2017-03-08 00:56:50 +00:00
Patrick Niklaus
93cdd8bb46
Remove unneccessar branch in CoreCH code
2017-03-03 16:02:12 +00:00
Patrick Niklaus
c2a5cc034a
Fix formating
2017-03-03 16:02:12 +00:00
Patrick Niklaus
ed00965d18
Add algorithm selection
2017-03-03 16:02:12 +00:00
Patrick Niklaus
3f485ac09b
Addressed PR comments by @daniel-j-h and @oxidase
2017-03-03 16:02:12 +00:00
Patrick Niklaus
a901bda41e
Fix algorithm compability check logic
2017-03-03 16:02:12 +00:00
Patrick Niklaus
0ac1f99f9c
Fix bug in refactor
2017-03-03 16:02:12 +00:00
Patrick Niklaus
30ff0fa977
Refactor routeStep
2017-03-03 16:02:12 +00:00
Patrick Niklaus
7da86b5984
Implement CoreCH algorithm
2017-03-03 16:02:12 +00:00
Patrick Niklaus
922e155763
Add type traits to disable plugins for specific algorithms
2017-03-03 16:02:12 +00:00
Patrick Niklaus
436b34ffea
Refactor routing_algorithms to only contain free functions
2017-03-03 16:02:12 +00:00
Patrick Niklaus
2fa8d0f534
Port OSRM, Engine and Datafacades to be algorithm aware
2017-03-03 16:02:12 +00:00
Michael Krasnyk
71e95c92b6
Fix incorrect forward datasources getter in facade
2017-03-03 10:52:34 +00:00
Patrick Niklaus
886421b43a
Fix help texts and .nbg_to_ebg -> .cnbg_to_ebg
2017-03-01 16:09:29 +00:00
Patrick Niklaus
e20cbf673f
Make InertialFlow a function
2017-03-01 16:09:29 +00:00
Michael Krasnyk
54c35710f6
return vector with correct edges
2017-03-01 16:09:29 +00:00
Michael Krasnyk
748ade5fea
fixed warnings
2017-03-01 16:09:29 +00:00
Michael Krasnyk
f5e9c7df07
adjust extractor scc to new StaticGraph
2017-03-01 16:09:29 +00:00
Michael Krasnyk
1541d32a42
adjust cell_storage tests to new StaticGraph interface
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
d473acb56d
fix edge duration truncation in partition, pending global fix
...
fix windows compilation
no multi line warnings
sanitze on mason with newer TBB
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
b5d63e5ed5
Re-use the extractor edge based edge for loading the ebg in osrm-partition
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e589ab814d
Store flag for artificial bounary edges and walk border nodes in ebg
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
3e409bea26
Loads the edge based graph edges and constructs a dynamic graph from it
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e0665856b0
Split Partitioner I/O off into separate headers
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
f71d742b5e
Implements Mapping for NodeBasedGraph -> EdgeBasedgraph Translation
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
be41e8b321
generate stats in annotation
2017-03-01 16:09:29 +00:00
Daniel Patterson
b62b09e5f6
Dump memory usage stats after partitioning.
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
b789da45bd
add unit tests for the different components of the parttion tool
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e316dad1cb
No longer requires edges to have a .data member in static graph
...
some fixes to make branch compilable
Removes unneeded edge data from components search
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
c3cc79f798
always emit a small component view
...
Unit Tests for Reodering by Predicate
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
b9ed20bb9b
Implements Compressed Node Based Graph (De-)Serialization Skeleton
...
Implements parallel recursion for the partitioner
Fixes osrm-extract's -dump-partition-graph: accept no further tokens
References:
- http://www.boost.org/doc/libs/1_55_0/doc/html/boost/program_options/bool_switch.html
Pulls parameters through to make them configurable from the outside
Defaults are equivalent to:
./osrm-partition \
berlin-latest.osrm \
--max-cell-size 4096 \
--balance 1.2 \
--boundary 0.25 \
--optimizing-cuts 10
Fixes parallel_do call for Intel TBB 4.2 (Trusty): no range-based overload
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
786be6f570
Optimise Flow Algorithm/Datastructures in use
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
dd60ae31ae
Implement Parallel Spatial-Ordering/Cut Selection
...
Extends explanation for recursive bisection ids
Cleans up Bisection State
Removes license boilerplate from partitioner config
Sorts Spatially and picks Sources and Sinks
Uses sets for sources and sinks for now; see how large they will get
Runs n cuts in parallel changing the slope and uses the best
Clarifies balance <-> ratio naming
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
db7adfa77b
Implement Dinic Algorithm for MaximumFlow/MinimumCut
2017-03-01 16:09:29 +00:00
Daniel J. H
dd3f351874
Partitioner Improvements and Utils on top of #3603 ( #3611 )
...
* Implements Random Access Iterator Facade for EdgeIDIterator
* Makes StaticGraph Node and Edge requirements explicit
* Cleans up Bisection Graph, Node and Edge
* Cleans up GraphView
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
d56db500d3
Initial Skeleton for Recursive Bisection via Inertial Flow
2017-03-01 16:09:29 +00:00
Lev Dragunov
f7b8e06c3a
Matching alternatives count output. #3508
2017-03-01 01:29:00 +00:00
Moritz Kobitzsch
6c3390f14d
refactor of post-processing
...
- moves collapse into a dedicated set of functions / files
- make collapse scenarios distinct (slight performance cost)
- reduce verbosity for short name segments (now actually working, was supposed to do so before)
2017-02-25 12:17:22 +00:00
Michael Krasnyk
4161181a6c
revert watchdog singleton
2017-02-24 16:01:56 +00:00
Michael Krasnyk
82acd59a8e
shared monitor implementation with a conditional variable
...
or a ring buffer with semaphores
2017-02-24 16:01:56 +00:00
Patrick Niklaus
438aa66b4c
Add packed storage of partition information
...
Right now we need a 64bit integer for every node in the graph.
Depending on the number of cells we will see, we might get away with
32bit eventually.
2017-02-24 15:58:47 +00:00
karenzshea
046d3128c4
clamp speed value to js max
2017-02-22 16:12:58 +00:00
Moritz Kobitzsch
1ad1ff5fc1
remove unsigned >= 0 checks, unused constnat
2017-02-21 13:55:59 +01:00
Patrick Niklaus
e06ffabf21
Add storage for cell weights used in the MLD algorithm
2017-02-20 16:31:36 +00:00
karenzshea
c2727f2029
expose data about turning onto restricted roads to turn function
2017-02-20 12:40:51 +00:00
Moritz Kobitzsch
03bb6dc161
reduce verbosity of use-lane in combination with lane-anticipation
2017-02-15 21:57:48 +00:00
karenzshea
e75278f9c2
add unit test for annotations=true returning all annotations
2017-02-13 18:00:39 +00:00
karenzshea
a31f401995
parse parameters.annotations into AnnotationsType::All
2017-02-13 18:00:39 +00:00
karenzshea
23b07c9197
clang format
2017-02-13 15:49:30 +00:00
karenzshea
a61b1a3623
round speed to 1 decimal place
2017-02-13 15:49:30 +00:00
karenzshea
921ff43acf
return speed annotations
2017-02-13 15:49:30 +00:00
Michael Krasnyk
2b00d92463
make annotations={true|false|(values)+} grammar
2017-02-10 16:11:24 +00:00
Kajari Ghosh
2218658969
Trip with Fixed Start and End points (TFSE) ( #3408 )
...
* fixed start and end trip feature to trip service
2017-02-10 05:13:20 -05:00
Michael Krasnyk
3e2db47cc8
cleanup in facade GetUncompressed members
2017-02-10 09:22:24 +00:00
Patrick Niklaus
768dc8d817
Merge pull request #3669 from Project-OSRM/seemoritz-minor_fixes
...
Port Seemoritz minor fixes to master
2017-02-08 09:34:36 +00:00
Patrick Niklaus
0c04c6cafb
Address PR comments
2017-02-07 18:12:49 +00:00
Patrick Niklaus
bf690df97a
Merge branch 'minor_fixes' of https://github.com/seemoritz/osrm-backend into seemoritz-minor_fixes
2017-02-07 12:48:29 +00:00
Moritz Kobitzsch
543f0e5e44
fix order of parameter initialisation for route parameters
2017-02-07 11:34:29 +01:00
karenzshea
1e9e420d91
clang format
2017-02-07 09:15:16 +00:00
karenzshea
c885d03830
use lambda instead of bindy
2017-02-07 09:15:16 +00:00
karenzshea
84261fd214
GetAnnotations function
2017-02-07 09:15:16 +00:00
karenzshea
734df348cb
a few more parameter tests
2017-02-07 09:15:16 +00:00
karenzshea
8d7aae8687
fix cucumber outputs
2017-02-07 09:15:16 +00:00
karenzshea
3106b5dd9e
set RouteParameters annotations member, when constructor only specifies annotations_type, add unit_tests
2017-02-07 09:15:16 +00:00
karenzshea
f1427a834d
fix bitwise operators, selectively add annotations to response obj
2017-02-07 09:15:16 +00:00
karenzshea
04954de9c6
implement bitwise and operator
2017-02-07 09:15:16 +00:00
karenzshea
a6cd0863bc
store/accept individual annotations parameters in addition to bool
2017-02-07 09:15:16 +00:00
Michael Krasnyk
6e1c4bfecd
Added indexed array data type with variable and fixed group blocks
2017-02-07 07:41:12 +00:00
Michael Krasnyk
f2663acfc6
remove 4 bytes packing of NodeBasedEdgeWithOSM due to alignment fails
2017-02-05 12:54:26 +01:00
Michael Krasnyk
c48fc58eb2
reduce size of InternalExtractorEdge by using single-precision values
2017-02-03 21:52:39 +00:00
Michael Krasnyk
9e5d45d86a
Added 'distance' weight to car profile
2017-02-03 18:59:00 +00:00
Pepijn Schoen
9d2628b74f
Don't use bool return values on successful write, instead rely on exception throwing
2017-02-02 10:31:32 +01:00
Michael Krasnyk
b3ef27d104
Make watchdog a singleton instance
...
References:
https://github.com/Project-OSRM/osrm-backend/issues/3619
https://github.com/Project-OSRM/osrm-backend/pull/3627#issuecomment-276288138
2017-01-31 13:25:59 +01:00
Michael Krasnyk
c22ce3ae1f
Use shared memory region mapping at fixed address for OSX
2017-01-31 13:25:59 +01:00
Michael Krasnyk
ad594cb2e4
Update review findings
2017-01-27 11:19:37 +01:00
Michael Krasnyk
6b143c5e1d
Use duration in SegmentBlock for duration updates
2017-01-27 11:19:37 +01:00
Michael Krasnyk
25baf51a2c
Add duration to edges and use it in table plugin
2017-01-27 11:19:37 +01:00
Michael Krasnyk
c059d15cb9
Added weight multipliers for speed and turn updates
2017-01-27 11:19:37 +01:00
Patrick Niklaus
279f8aabfb
Allow specifing a weight for routing that is independent of duration
2017-01-27 11:19:37 +01:00
Michael Krasnyk
7deff5837c
Throw IO error if the number of read bytes does not match count
...
and the stream is in failed state
2017-01-27 11:19:37 +01:00
Michael Krasnyk
337ecefa45
Added osrm-extract-conditionals tool
2017-01-24 10:31:59 +01:00
Michael Krasnyk
7961fa8863
Added conditional restrictions grammar
2017-01-24 10:31:59 +01:00
Michael Krasnyk
88eb9e5499
Added opening_hours grammar
2017-01-24 10:31:59 +01:00
Daniel J. Hofmann
c277b95f03
Implements Zero-Copy String Views onto Contiguous Memory, resolves #3265 .
...
- http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html
- http://en.cppreference.com/w/cpp/string/basic_string_view
2017-01-23 15:22:39 +01:00
Moritz Kobitzsch
d129b0ef24
remove templates from routing algorithms
2017-01-21 23:59:15 +01:00
Moritz Kobitzsch
8c36012653
remove CRTP leftovers in search algorithms
2017-01-20 14:11:16 +01:00
Michael Krasnyk
e8167b2e4e
Use round for float to fixed coordinate transformations
2017-01-20 12:31:45 +01:00
Huyen Chau Nguyen
a40abacfca
Refactors the Turn Handler's Fork Abstraction, resolves #3457 .
2017-01-19 19:49:40 +01:00
Moritz Kobitzsch
b8beac2d00
unite process/shared_memory datafacades into a single type using an allocator scheme
2017-01-19 17:18:35 +01:00
Michael Krasnyk
c03b230e84
Refactor ShMemIterator, resolves #3458
2017-01-19 15:30:18 +01:00
Moritz Kobitzsch
6b06c5bd32
fix emitting invalid turn types, now surfacing due to changes in obvious detection
2017-01-18 15:56:48 +01:00
Moritz Kobitzsch
226ee62981
refactor graph contractor for readability
...
move to a dedicated dijkstra, separate code and header
reduce heap size, we don't use more than 2000 nodes, so why allocate 170k?
2017-01-18 15:03:15 +01:00
Daniel J. Hofmann
fce3bb180c
Provides OSRM_ASSERT_WITH_LOC macros for asserting with location, resolves #3533
2017-01-18 00:43:03 +01:00
Patrick Niklaus
70e899378d
Replace shmctl with waiting on all on-Linux platforms
2017-01-14 01:14:29 +01:00
Patrick Niklaus
dbd70d4884
Throw exception with more helpful error message when shmctl fails
2017-01-14 01:14:29 +01:00
Michael Krasnyk
b8f631f6f6
fake waiting by sleep on windows
2017-01-14 01:14:29 +01:00
Patrick Niklaus
763ad0d047
Print warning on Windows that we can't wait for clients
2017-01-14 01:14:29 +01:00
Michael Krasnyk
b6f9ec2a33
make facades const to be consistent with const shmem block
2017-01-14 01:14:29 +01:00
Patrick Niklaus
104e23abf3
Restore --max-wait and file_lock for osrm-datastore
2017-01-14 01:14:29 +01:00
Patrick Niklaus
a7bb26f2d6
Remove unnecessary includes and rename in Engine
2017-01-14 01:14:29 +01:00
Michael Krasnyk
710ba20acc
Add 1ms delay as a workaround for "faster" requests than facade update
...
in osrm-routed
2017-01-14 01:14:29 +01:00
Michael Krasnyk
fce8d72895
Change to condvar signaling if data region swapped
2017-01-14 01:14:29 +01:00
Michael Krasnyk
774b8688ca
read_only if shmem size is 0, read_write otherwise
2017-01-14 01:14:29 +01:00
Michael Krasnyk
fe2beb6f68
Respect data constness in Write methods
2017-01-13 22:37:46 +01:00
Moritz Seemann
f12fdeb23e
some comments for dynamic_graph.hpp
2017-01-13 11:12:02 +01:00
Moritz Seemann
f896aaf881
fix for DeallocatingVector::back
...
This method actually returned a reference to the one-past-the-last
element instead of the last element.
2017-01-13 11:12:02 +01:00
Moritz Seemann
a2a2cf84d1
fix: do not add duplicate edges
...
Previously duplicate edges were added if their weight was worse.
2017-01-13 11:12:02 +01:00
Moritz Seemann
4e897aad50
constexpr implies const, no need to state it twice
2017-01-13 11:12:02 +01:00
Moritz Seemann
5e8bdbfa0c
fix to prevent (very unlikely) overflow of originalEdges
...
If originalEdges gets initialized with 1 << 28, it will overflow and
thereby be set to 0.
Which defeats the point of checking for overflows in the first place.
2017-01-13 11:12:02 +01:00
Michael Krasnyk
1d4d3b80b5
Fix possible division by zero by clamping latitude to 85.05°
...
Resolves #3530
2017-01-12 16:44:58 +01:00
Moritz Kobitzsch
c1f833c80f
fix forks exiting a ferry
2017-01-12 09:58:51 +01:00
Huyen Chau Nguyen
f313cb9913
Refactor fork handling in guidance ( #3264 )
...
refactor fork handler
2017-01-07 14:13:32 +01:00
Moritz Kobitzsch
15c8fd326f
Remove assertions that could be triggered by bad data. ( #3469 )
...
When two consecutive nodes have identical coordinates, there is no valid
bearing. For now, make equal nodes have bearing 0.
Full fix still needs to be done via https://github.com/Project-OSRM/osrm-backend/issues/3470 .
2017-01-06 17:10:02 -08:00
Daniel Patterson
f7e8581a1b
Replace fingerprint with semver-based scheme. ( #3467 )
2017-01-06 13:45:08 -08:00
Daniel J. Hofmann
1153b78c06
Fixes various compiler diagnostics
...
Found with LLVM 3.9.1 and then fixed the most severe categories.
2017-01-06 16:47:52 +01:00
Daniel J. Hofmann
5100f2cc7b
Guards against no lanes for lanes left and right of turn, resolves #3518
2017-01-06 12:44:02 +01:00
Moritz Kobitzsch
f6fef5c166
refactor graph contraction: flush moved into dedicated function
2017-01-05 16:28:38 +01:00
Daniel J. Hofmann
559c88b36d
Adds runtime alignment assertions, see #3267
2017-01-05 16:27:53 +01:00
FILLAU Jean-Maxime
300283d572
Adding a new command line option osrm-extract --with-osm-metadata
...
This keep the metadata reader flag disabled by default unless explicitly specified.
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-01-04 14:35:45 +01:00
Michael Krasnyk
24ab71a346
Fix c++ formatting
2017-01-04 08:46:16 +01:00
Moritz Kobitzsch
e6ff17ab2a
refactor merging of segregated roads
...
adjust to generalFindMaximum function
moved parallel detection to ratio/absolute based regression testing
considerably improved detection quality using normalised regression lines
only follow initial direction/narrow turns for parallel detection
2017-01-03 12:32:51 +01:00
Patrick Niklaus
f7ad2e1e26
Don't retain SharedDataFacade between queries ( #3485 )
...
* Don't retain SharedDataFacade between queries
* More caching code
2017-01-03 12:06:55 +01:00
Michael Krasnyk
8645d8c7fc
Make osrm::util::range a model of SinglePassRangeConcept
...
References:
- http://www.boost.org/doc/libs/1_63_0/libs/range/doc/html/range/concepts/single_pass_range.html
2017-01-03 10:22:03 +01:00
Patrick Niklaus
0f3a463854
Add api_version
gloabal variable to profiles
...
Currently only `0` is supported (the default).
2016-12-23 15:02:10 +01:00
Moritz Kobitzsch
b9b52cb857
clean-up unused headers, use NoTurn for ferries instead of suppressed
2016-12-23 15:01:02 +01:00
Daniel J. Hofmann
9af67c5a9f
Refactors Karen's work a bit
2016-12-23 15:01:02 +01:00
karenzshea
8ffe915395
do not emit turns on ferries
2016-12-23 15:01:02 +01:00
Michael Krasnyk
b376c97db8
Join LAYOUT and DATA shared memory blocks into REGION
2016-12-23 11:56:22 +01:00
Moritz Kobitzsch
bc081b7132
refactor route step / intermediate intersections
...
rename intersection (engine version) to IntermediateIntersection
follow coding convention for existing functions, move invalidate into routeStep
moved elongate into route step
move forward-step-signage into route step
replace post-processings `forwardInto` with `RouteStep` functionality. Don't change maneuver in step
separete declaration and implementation
2016-12-22 08:33:27 +01:00
Patrick Niklaus
3cbac0f012
Revert "Smarter search radius formula for map matching"
...
This reverts commit b73c59088c
.
2016-12-21 22:41:48 -08:00
Patrick Niklaus
cc14fb8bff
Revert "Hardcode search radius parameters"
...
This reverts commit 2c9e18d5a9
.
2016-12-21 22:41:34 -08:00
Moritz Kobitzsch
dff7fe214b
don't assign exit
in arrive when ending in roundabout
2016-12-21 17:48:23 +01:00
Moritz Kobitzsch
1ba5ff44cc
reduce warnings when compiling tests, add constructor to base parameters, fixes gcc49 unit tests building
2016-12-19 14:24:17 -05:00
Daniel J. Hofmann
5ecd2e4c67
Fixes GCC 4.9's protected keywork issues
2016-12-19 14:22:17 +01:00
Daniel J. Hofmann
b1f6797aab
Adds generate_hints=true
for dropping hints in response, resolves #1789 .
...
Adds an `generate_hints=false` option which lets us skip generating and
emitting hints for Waypoints. This can be used to decrease the response
size when the user does not need hints anyway.
We should think about making `false` the default here in v6.
2016-12-19 12:09:36 +01:00
Patrick Niklaus
c4b3cdfd80
Fix changing shared memory in multi-process setup ( #3462 )
...
This change fixes two bugs:
1. A dead-lock that occurs between osrm-datastore and libosrm when an
old dataset is free during a data update. This happened because the
mutexes where acquired in a different order.
2. A region is deleted eventhough it is still in use. This happens when
libosrm gets overtaken by osrm-datastore, so the new dataset is in
the same region the old one was.
2016-12-16 13:50:17 -08:00
Moritz Kobitzsch
d584bcad11
fix roundabout handling with lanes
...
instead of artificially removing lanes from a roundabout, we don't assing them in the first place.
this also prevents a problem where we would end up collapsing turns with lanes in a roundabout
2016-12-15 13:07:26 +01:00
Daniel Patterson
a51ef67db8
Use common function for clamping logic for all user-visible bearings.
2016-12-15 10:59:17 +01:00
Moritz Kobitzsch
67ce19cb14
fix problem at the source
2016-12-15 10:59:17 +01:00
Michael Krasnyk
84b618ed1a
Add headers consistency check
2016-12-15 10:58:17 +01:00
Moritz Kobitzsch
dc8e6bd8d9
use correct type in graph contractor to avoid overflows in nodes
2016-12-15 10:56:07 +01:00
karenzshea
68e38880df
switch back to lua based env naming
2016-12-15 10:55:16 +01:00
karenzshea
d5904d5756
increase template depth on clang and gcc builds
2016-12-15 10:55:16 +01:00
Daniel J. Hofmann
0f59b78c02
Rewrite lua bindings using sol interface
2016-12-15 10:55:16 +01:00
Daniel J. Hofmann
6e7fe5feb0
Clean plate: luabind ripped out and sol2 basic integration
2016-12-15 10:55:16 +01:00
Daniel Patterson
3dfbf42e61
Don't mark all lanes as designated when there are blank lane specifiers in the tag.
2016-12-15 10:55:16 +01:00
Daniel Patterson
f88f51fd98
Log some memory usage statistics after preprocessing tasks.
2016-12-13 21:59:12 +01:00
Daniel Patterson
8c7f744b1a
Update node weights if traffic data is applied.
2016-12-11 16:02:58 +01:00
Huyen Chau Nguyen
62f0e11bfa
assert that there is an open logger file when trying to log geojson output ( #3417 )
2016-12-09 14:58:20 +01:00
Patrick Niklaus
03d653c0bb
Fix removing shared memory segments in a multi-process setup
2016-12-09 12:18:05 +01:00
Daniel J. Hofmann
cbfb055f81
Changes Single Coordinate Geoms from Point to LineString, closes #3425 .
2016-12-09 11:53:06 +01:00
Moritz Kobitzsch
2288704bb5
don't assign unused name to exception
2016-12-08 13:35:28 +01:00
Daniel J. Hofmann
97dcf4eef9
Fixes Compiler Crashes on Windows
2016-12-08 13:23:21 +01:00
Daniel J. Hofmann
875f482203
Refactors and improves the Sliproad Handler, resolves #3109
2016-12-07 19:22:03 +01:00
Moritz Kobitzsch
df3c39cef5
clean-up guidance code/code in general
...
removes duplicated includes
removes unused includes
eliminates dedicated toolkits that resulted in circular dependencies
moves functionality close to data, where possible
2016-12-07 12:10:56 +01:00
Daniel Patterson
468d8c0031
Refactor logging, improve error handling workflow, clang-format. ( #3385 )
2016-12-06 12:30:46 -08:00
Pepijn Schoen
6f4c6e84ae
Handle file output through a FileWriter, align interfaces for FileWriter and FileReader
2016-12-06 15:59:12 +01:00
Daniel J. Hofmann
949d505783
Removes access_restricted flag internally
2016-12-05 14:15:47 +01:00
Daniel J. Hofmann
9d8b92f418
Abstracts away over differences in IntersectionView and Intersection.
...
Usage:
struct MyIntersection : EnableIntersectionOps<MyIntersection> {
};
Done.
We require MyIntersection having at least the member attributes from
IntersectionViewData but don't enforce a inheritance hierarchy.
2016-12-02 12:32:07 +01:00
Daniel Patterson
928a6f0c7d
Variant got re-packaged, need to update search paths. ( #3392 )
2016-12-01 16:59:29 -08:00
Moritz Kobitzsch
561b7cc58e
Rember Intersection Shapes
...
Changes the processing order in the edge based graph factory.
Instead of iterating over all outgoing edges in order, we compute the edge
expanded graph in the order of intersections.
This allows to remember intersection shapes and re-use them for all possible ingoing edges.
Also: use low accuracry mode for intersections degree 2 intersections
We can use lower accuracy here, since the `bearing`
after the turn is not as relevant for off-route detection.
Getting lost is near impossible here.
2016-12-01 15:24:20 +01:00
Daniel Patterson
5a311012af
Consolidate file reading through the new FileReader class/interface. ( #3321 )
2016-11-30 19:08:01 -08:00
Moritz Kobitzsch
a1127c3e09
reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes
2016-11-30 10:21:53 +01:00
Moritz Kobitzsch
12d58ace10
add support for junction=circular, allowing named circular junctions to be treated as rotaries
2016-11-29 13:44:32 +01:00
Moritz Kobitzsch
4636aaabfe
make can be ignored false by default
2016-11-29 11:47:35 +01:00
Michael Krasnyk
e343f71541
Refactor Hilbert values computation
2016-11-28 14:17:12 +01:00
Moritz Kobitzsch
a49bd70985
add low precision intersection_generator mode for faster graph traversal
2016-11-22 18:25:19 +01:00
Kajari Ghosh
fc52dd85fe
refactor graph_loader ( #3333 )
...
Refactors the GraphLoader class to use the safer FileReader wrapper for better error handling.
2016-11-21 17:32:00 -08:00
karenzshea
0bd08224bf
add comments, refactor find obvious turn
2016-11-21 13:16:30 -05:00
Patrick Niklaus
3bade8625f
Don't crash on assigning nil to a string in lua
2016-11-21 12:17:44 +01:00
Patrick Niklaus
95a584a30d
Make rounding when computing PhantomNode weight symmetric
...
Resolves a problem where the duration in forward and backward direction
was slightly different.
2016-11-18 17:46:32 +01:00
Kerrick Staley
2c9e18d5a9
Hardcode search radius parameters
2016-11-17 17:56:23 +01:00
kerrick-lyft
b73c59088c
Smarter search radius formula for map matching
2016-11-17 17:56:23 +01:00
Michael Krasnyk
ba2629456f
Added a copy of std::align due to missing implementation in gcc < 5
...
References:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57350
2016-11-17 16:02:56 +01:00
Daniel J. Hofmann
1b4779a58c
Avoids Shuffling Data Around for Nothing, closes 3306
2016-11-17 12:51:18 +01:00
Daniel J. H
73e365d398
Conditionally checks std::is_trivially_copyable only if available. ( #3327 )
2016-11-16 12:07:45 -08:00
Michael Krasnyk
d5bf508046
Fix alignments in shared facade via alignof/std::align
2016-11-16 18:20:19 +01:00
Daniel Patterson
eb12c16fd6
Output newlines for each progress indicator when not on a tty.
2016-11-15 18:14:05 -08:00
Daniel Patterson
17c32f5ce7
Fully revert 04f8b653c94614
2016-11-15 16:55:02 -08:00
Daniel Patterson
53ef2e2955
Use an enum type for the 'should read fingerprint' flag, rather than a mysterious boolean
...
Fix tests.
2016-11-15 16:55:02 -08:00
Daniel Patterson
7b1131b982
Consolidate vector deserialization.
2016-11-15 16:55:02 -08:00
Daniel Patterson
1fc969e6c8
Fix naming convention, and pass-by-reference for data layout.
2016-11-15 16:55:02 -08:00
Daniel Patterson
49f960064c
Partial revert of 04f8b653c94614 - the PackedVector is special.
2016-11-15 16:55:02 -08:00
Daniel Patterson
83a9d0590d
Pass-by-reference instead of pointer.
2016-11-15 16:55:02 -08:00
Daniel Patterson
d8b016b92a
Simplify read error detection.
2016-11-15 16:55:02 -08:00
Daniel Patterson
608044305d
Rename the datafacades to more clearly describe what they do.
2016-11-15 16:55:02 -08:00
Daniel Patterson
2dfeb0cabc
Remove unused code.
2016-11-15 16:55:02 -08:00
Daniel Patterson
2f9b5788d0
Destructor should fail hard if an exception is raised.
2016-11-15 16:55:02 -08:00
Daniel Patterson
be496eb4e3
Return the type we claim it will return.
2016-11-15 16:55:02 -08:00
Daniel Patterson
97244557b1
Don't need to use new, make_unique<> can do what we need here.
2016-11-15 16:55:02 -08:00
Daniel Patterson
e2e5eb0169
Remove use of ShM<>::vector in favour of the boost::iterator_range
2016-11-15 16:55:02 -08:00
Daniel Patterson
6949d7ee5b
Remove ownership of block pointers from base class.
2016-11-15 16:55:02 -08:00
Daniel Patterson
4ad6d88888
Refactor file loading to use a common class that has proper error handling.
2016-11-15 16:55:02 -08:00
Daniel Patterson
e226b52f21
const-ify things, use RAII for file closure, and start to use io:: to read some stuff.
2016-11-15 16:55:02 -08:00
Daniel Patterson
b1125b7f1f
Rename base class to something more in line with it's actual function.
2016-11-15 16:55:02 -08:00
Daniel Patterson
33ff92d27e
Remove debugging code.
2016-11-15 16:55:02 -08:00
Daniel Patterson
bf6df74d44
Consolidate datafacade file loading logic.
...
Both datafacades now use a single large memory block and common
file loading logic.
2016-11-15 16:55:02 -08:00
Daniel J. Hofmann
8f6dd805e5
Fixes ODR Violation in Graph Loader, closes #3308
2016-11-15 12:04:13 +01:00
Daniel J. Hofmann
7e4020c010
Allocates memory for the node info list upfront.
...
Turns out we were not doing this. Huh.
Callstack:
- 78583d2c8c/include/util/graph_loader.hpp (L65-L68)
- 538bbd47d1/src/extractor/extractor.cpp (L423-L424)
- 78583d2c8c/src/extractor/extractor.cpp (L465-L466)
- 78583d2c8c/src/extractor/extractor.cpp (L254-L261)
2016-11-15 00:06:52 +01:00
Moritz Kobitzsch
78583d2c8c
fix getTurnDirection, widen straight
range, adjust tests accordingly
2016-11-14 11:09:14 +01:00
Michael Krasnyk
b57169e221
Flush stxxl vectors before using in PrepareData
2016-11-12 02:09:51 +01:00
Moritz Kobitzsch
f88ac989ea
reserve when possible
2016-11-11 14:48:50 +01:00
Moritz Kobitzsch
827a1fbd7a
separate intersection generation and intersection normalization
2016-11-10 12:56:46 +01:00
Moritz Kobitzsch
e84a0ea37c
reduce coordinate_extraction overhead. slowdown reduced by 30 percent
2016-11-10 10:44:54 +01:00
Moritz Kobitzsch
7073403f1b
rip out dedicated file for single function (minor refactor)
2016-11-09 12:52:39 +01:00
Daniel Patterson
af7960a796
Fix buffering of query box - it was shrinking in the Y axis, rather than growing.
2016-11-08 11:45:28 -08:00
Daniel Patterson
4c6d6aeaa7
Fix retrieval of forward/reverse data.
2016-11-08 11:45:27 -08:00
Moritz Kobitzsch
9c11f4231c
add locations feature to allow testing turn locations, fix minor bug breaking the arrival location
2016-11-08 13:42:15 +01:00
Moritz Kobitzsch
837ab105ad
fix error in ordering arguments for requiresNameAnnounced versions
2016-11-08 12:14:23 +01:00
Daniel J. Hofmann
6ac9617d49
Adapt test to returning ref, Take Pronunciation into Account, Fixes name change heuristic usage in UTurn check
2016-11-08 12:14:23 +01:00
Daniel J. Hofmann
c1651ccb12
Uses Name Change Heuristic Instead of Comparing Name Ids
...
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2857
- https://github.com/Project-OSRM/osrm-backend/pull/2900
- https://github.com/Project-OSRM/osrm-backend/issues/2909
2016-11-08 12:14:23 +01:00
Kajari Ghosh
f33180f092
request polyline with precision of 5 or 6 positions ( #3220 )
2016-11-07 15:11:21 -05:00
Moritz Kobitzsch
2fb40944bf
pull in intersection finder accumulator
2016-11-04 13:28:09 +01:00
Moritz Kobitzsch
cd03877c90
link ConnectedRoad and TurnOperation via class hierarchy
...
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Patrick Niklaus
08a5648e3e
Use coorect osm ids for start/target segment
2016-11-02 17:52:41 +00:00
Moritz Kobitzsch
faa5185440
add node-based-graph traversal capabilities
2016-11-02 15:38:09 +01:00
Moritz Kobitzsch
4ba8ccfcce
add a geojson debugger that allows creating features for easy inspection
2016-11-02 14:54:00 +01:00
Kajari Ghosh
c30f43b148
added max_speed to the profiles ( #3089 )
2016-11-01 17:13:10 -04:00
Denis Koronchik
5da63998d6
Add support of custom ServiceHandler
2016-10-31 15:38:03 +01:00
Kajari Ghosh
6fc0609a62
Map matching test coverage fix ( #3201 )
...
* fixed map matching test coverage
2016-10-29 11:22:09 -04:00
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Denis Koronchik
dc7e61c25d
Fix declaration of makeRouteStep function
2016-10-27 20:12:02 +02:00
Moritz Kobitzsch
88c3f4c481
Considering multiple small turns, right after each
...
other can result in a combined turn angle that is
straight instead of turning left and right.
2016-10-27 19:19:23 +02:00
Moritz Kobitzsch
01a2c66472
rip out unused m_node_info_list
2016-10-27 18:51:59 +02:00
Huyen Chau Nguyen
cf35bbeb50
refactor function names; consolidate readCount() functions;
...
remove templated types as much as possible for type safety;
add more comments;
clean up code, add const if possible;
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
fe94977c9b
refactor loading code of .ramIndex files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
69a60686dc
refactor loading code of .datasource_indexes and .datasource_names files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
7b97e1035f
refactor loading code of .nodes and .edges files and move to io.hpp
2016-10-26 13:18:52 -07:00
karenzshea
c4f010e363
read properties stream to size of properties object, not 1
2016-10-26 13:18:52 -07:00
karenzshea
51ebadfc45
deduplicate code for loading profile properties into io.hpp
2016-10-26 13:18:52 -07:00
Michael Krasnyk
7753845f5c
Make thread-locked access to stxxl containers
...
From stxxl FAQ: "you should not share a data structure between
threads (without implementing proper locking yourself)."
The access to name_char_data can be implicitly parallelized
if _GLIBCXX_PARALLEL is defined and invalidate local-thread iterators.
2016-10-25 10:03:26 -07:00
Patrick Niklaus
b8795c7341
Rename increasingly inaccuratly named distance member of QueryEdge to weight
2016-10-21 21:00:02 +02:00
jakepruitt
c30784895d
clang-format and remove debug
2016-10-20 11:32:28 -07:00
jakepruitt
fa1fc810ea
std::for_each -> std::copy
2016-10-20 11:32:28 -07:00
jakepruitt
052b0e831d
Remove debug logging
2016-10-20 11:32:28 -07:00