Michael Krasnyk
929e5a4de6
Review adjustments for driveway handler, #4151
2017-06-29 15:07:32 +00:00
Michael Krasnyk
df4f0d043a
Added driveway handler
2017-06-29 15:07:32 +00:00
Patrick Niklaus
e5464526c8
Port isc file
2017-06-27 09:58:19 +00:00
Patrick Niklaus
37b8d3acd4
Refactor turn lane passing
2017-06-27 09:58:19 +00:00
Patrick Niklaus
4f13208ce8
Fix the propfile properties reading/writing
2017-06-27 09:58:19 +00:00
Daniel J. Hofmann
df000debe9
Adapts obvious turn classification: no longer take entry_allowed into account, resolves #3987
2017-06-21 18:09:32 +02:00
Daniel Patterson
35550d8c0a
Parallelize generation of the edge-expanded-edges.
2017-06-15 09:05:45 +00:00
Patrick Niklaus
27ed69b08f
Parallize scripting on osmium::Buffer granularity
...
Fixes #3447 and reduces parsing time by about 15%.
2017-06-13 21:47:54 +00:00
Daniel Patterson
cd8fb82215
Add flag to allow skipping calling node function for nodes with no tags.
2017-06-13 12:23:00 +00:00
Daniel Patterson
5c8e2b6f78
Don't copy the node/way/segment/turn function objects for every call. 12-13% speedup for lua processing right there.
2017-06-13 12:23:00 +00:00
Patrick Niklaus
0266c9d969
Renumber nodes after running osrm-partition
...
The new numbering uses the partition information
to sort border nodes first to compactify storages
that need access indexed by border node ID.
We also get an optimized cache performance for free
sincr we can also recursively sort the nodes by cell ID.
This implements issue #3779 .
2017-06-02 18:12:13 +00:00
Patrick Niklaus
3599d1db8e
Switch code to use packed vector for segment weights/durations
2017-05-19 08:25:03 +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
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
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
88082c48cf
Remove GetEdgeBasedNodeID from TurnDataContainer
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
Patrick Niklaus
c446b017ef
Switch from macro based StrongTypedef to template version
2017-04-24 16:04:41 +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
a196d5ced3
Fingerprint .timestamp, normalize use of Size / GetSize and make that function Fingerprint-aware
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
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
Patrick Niklaus
59bbfeb67f
Buffer turn data on disk to save memory
2017-04-10 17:25:02 +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
7f6e0c478b
Split QueryNode into coordinates and osm id
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
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
08d62cd5e3
Separate serialization and files in extractor
2017-04-06 15:42:38 +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
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
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
78a199e2fb
Add read-only max_turn_weight in ProfileProperties
2017-03-20 20:06:51 +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
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
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
Pepijn Schoen
c7fc36a61b
Normalize file writes
2017-03-09 14:16:41 +00:00
Michael Krasnyk
f42136637d
Add edge-based graph loading in MLD facade
2017-03-08 00:56:50 +00:00
Patrick Niklaus
886421b43a
Fix help texts and .nbg_to_ebg -> .cnbg_to_ebg
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
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
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
karenzshea
c2727f2029
expose data about turning onto restricted roads to turn function
2017-02-20 12:40:51 +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
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
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
Huyen Chau Nguyen
a40abacfca
Refactors the Turn Handler's Fork Abstraction, resolves #3457 .
2017-01-19 19:49:40 +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
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
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
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
84b618ed1a
Add headers consistency check
2016-12-15 10:58:17 +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 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 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
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
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
Moritz Kobitzsch
a49bd70985
add low precision intersection_generator mode for faster graph traversal
2016-11-22 18:25:19 +01: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
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 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
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
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
Kajari Ghosh
6fc0609a62
Map matching test coverage fix ( #3201 )
...
* fixed map matching test coverage
2016-10-29 11:22:09 -04: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
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
42271d99b2
Store node ID's and weights separately in CompressedEdgeContainer
...
Removes CompressedEdges from the extractor and shared data format by
directly serializing vectors of node ID's, forward weights and reverse
weights for each node-based-edge
Refs #2575
2016-10-20 11:32:28 -07:00
Moritz Kobitzsch
ecee13bffa
actually calculate distance instead of using .distance
which is a timing value
2016-10-20 12:27:02 +02:00
Moritz Kobitzsch
5e167b8745
Turn Angles in OSRM were computed using a lookahead of 10 meters.
...
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.
In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Daniel J. Hofmann
ab1a9271c8
Canonicalizes Spaces in Semicolon Stringlists, fixes #3086
2016-10-19 14:14:18 -07:00
Moritz Kobitzsch
2a2abe9e0f
remove unused class DiscreteAngle
2016-10-19 21:40:45 +02:00
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
Lauren Budorick
a75e16e26b
Deduplicate foward/reverse geometries
...
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.
Closes #2592
2016-10-06 10:09:57 -07:00
Lauren Budorick
14e7460465
Include turn information in debug tiles.
2016-09-30 17:12:20 +02:00
Ansis Brammanis
7e2663f2ad
calculate roundabout radius from circumference, fix #2716
2016-09-29 10:42:42 +02:00
Daniel J. Hofmann
bbbbacb073
Reworks Restriction Whitelist / Blacklist, resolves #2833
...
Takes a stricter aproach for whitelisting / blacklisting restrictions:
- uses `restriction=`
- uses more specific `restriction:<type>=`
- uses `except=<type>` to invert
Where `type` is the type of transportation to restrict, e.g. `motorcar`.
https://github.com/Project-OSRM/osrm-backend/issues/2833
2016-09-28 09:35:02 +02:00
Daniel J. Hofmann
60010dd998
Reduce NewName Instructructions / Name Changes
...
With @karenzshea's name / ref split (ref. #2857 ) in master we want to
make use of it and reduce `NewName` instructions when ever possible.
This is a first step towards #2744 by using the already existing name
change heuristic from the extractor now in post-processing as well.
Limitations: at the moment we don't have the `SuffixTable` in
post-processing; this would require us serializing and subsequently
deserializing the table, passing it through from the profiles to the
API.
2016-09-21 12:42:39 +02:00
Moritz Kobitzsch
3a49635eb7
remove dead code
2016-09-16 07:14:44 +02:00
Daniel J. Hofmann
e6fe9d0d67
Fixes issue where two ways with same name but different pronunciation where deduplicated, resolves #2860
2016-09-09 18:28:44 +02:00
karenzshea
dcc1b5ab2b
return name and reference separately
2016-09-08 14:28:23 +02:00
Moritz Kobitzsch
9123c93a90
fix interaction between sliproads/segregated intersections
2016-09-07 12:36:29 +02:00
Moritz Kobitzsch
a551286a8f
adjust testscases for collapse of use lane
2016-09-07 12:17:36 +02:00
Daniel J. Hofmann
86fd04e556
Improves lane handling for subsequent going straight, resolves #2625
...
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.
This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.
Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.
There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625
fix rebase
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
b6dbf81206
don't assign lanes on delayed turns
2016-09-07 12:17:34 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
f7265892ed
correctly detect loss of prefix/suffix
2016-09-05 15:03:21 +02:00
Moritz Kobitzsch
d06eec5e42
improve segregated road detection
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9648821a79
handle missing cases, cleaning up
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
6a2518c0df
handle stronger merge cases as well
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
5a9eb6ef72
prepare solution
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9b2f6585fb
handle non-through case
2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
e8bae78749
fix errors introduced in refactor
2016-08-18 11:36:36 +02:00
Daniel J. Hofmann
d53c267129
Be more aggresive classifying Roundabout Intersections.
...
Roundabout Intersections are roundabouts with up to four ways and turn
angles which makes the turns obvious, e.g. as in:
```
*
*
* * * *
*
*
```
but not
```
*
*
* * *
* *
* *
```
For Roundabout Intersections we issue instructions such as
"turn <direction>" instead of "take the <nth> exit".
At the moment we have a limit on the radius for these Roundabout
Intersections of 5 meters. Which fails to classify a wide range of
Roundabout Intersections in the US (with the US-wide streets).
This changeset removes the Roundabout Intersection radius limit:
- if the roundabout is larger than a threshold and is named we classify
it as a rotary
- if the roundabout matches our criteria for Roundabout Intersections
we classify it as a Roundabout Intersection
- else fallback to plain old Roundabout
There is a second issue with determining a roundabout's radius.
But that's for another pull request (tracking in #2716 ).
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2716
2016-08-18 10:50:32 +02:00
Lev Dragunov
89f1071947
Static checks for guidance array sizes.
2016-08-12 18:52:54 +03:00
Patrick Niklaus
677306eeee
Merge pull request #2707 from oxidase/left_side_driving
...
Left side driving
2016-08-05 18:09:10 +02:00
Patrick Niklaus
6bfe3a2d41
Merge pull request #2733 from gavinsherry/master
...
Remove unused variable node_info_list
2016-08-04 11:24:33 +02:00
Daniel J. Hofmann
7f71f0ed12
Warn on unused return values in guidance code, resolves #2686 .
...
https://github.com/Project-OSRM/osrm-backend/pull/2685/files
fixes an issue where we did
elongate(fstStep, sndStep);
instead of
newStep = elongate(fstStep, sndStep);
we didn't get any warnings.
The only way to trigger a warning here is to use
```cpp
__attribute__((warn_unused_result))
```
This changeset does exactly that: for the new guidance code prone to
these kind of issue we add such an attribute to the declaration.
2016-08-03 12:26:07 +02:00
Gavin Sherry
b09f637d02
Remove unused variable node_info_list
2016-08-02 14:17:57 -07:00
Moritz Kobitzsch
0d36d472c9
change paradigm of merge to only emit on motorway-like roads
2016-07-30 23:55:39 +02:00
Michael Krasnyk
c918a7957b
Updated format and ChangeLog
2016-07-28 22:59:22 +02:00
Lauren Budorick
c09b9b4c99
Initial left hand driving implementation
2016-07-28 22:59:22 +02:00
Patrick Niklaus
c7a1576100
Apply clang-format again
2016-07-26 15:00:58 +02:00
Patrick Niklaus
b4710633b1
Rename function to reduce confusion
2016-07-26 11:23:14 +02:00
Moritz Kobitzsch
7d076e9344
handle access flags for lanes
2016-07-25 20:01:58 +02:00
Moritz Kobitzsch
1fc63e1e72
move hardcoded road priorities into profiles, change road classification
2016-07-25 13:07:54 +02:00
Moritz Kobitzsch
9e323d2d42
improve sliproad / fork handling
2016-07-22 15:16:59 +02:00
Konstantin Käfer
1309dd2a0f
Switch profiles from Lua to library interface
...
There's now an abstracted interface and no direct calls to Lua anymore.
fixes #1974
2016-07-22 15:03:57 +02:00
Patrick Niklaus
4fcb5d28a4
Merge pull request #2624 from oxidase/issues/2617
...
Fix ambiguous data issues
2016-07-13 11:20:40 +02:00
Surya Suluh
2091c3443b
Fix windows compilation with regard to struct/class packing
2016-07-11 09:47:04 -04:00
Michael Krasnyk
2b466b2fb2
Fix ambiguity in edges by using names lexicographical order
2016-07-11 05:54:30 +02:00
Moritz Kobitzsch
0e4061f858
deduplicate code for roundabout handling
2016-07-01 11:34:44 +02:00
Daniel Patterson
ec02cdc4cc
Use mmap instead of read - it's a lot faster here.
...
Also clean up construction of STRONG_TYPEDEF so that it can be
packed properly in structs (this explains all the () -> {}) changes
here.
2016-06-27 17:24:30 -07:00
Moritz Kobitzsch
5905708111
expose lanes as enums, adjusted for comments
2016-06-27 11:12:02 +02:00
Moritz Kobitzsch
5d91b759d1
Implement Turn Lane Api
2016-06-27 10:07:48 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Patrick Niklaus
d186ae1863
Fix semi-colon warnings
2016-06-22 13:20:55 +02:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads
2016-06-21 16:56:57 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps
2016-06-21 00:47:43 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files
2016-06-20 22:45:40 +02:00
Moritz Kobitzsch
306744e5cb
fix roundabout-handling when name changes
2016-06-17 11:02:14 +02:00
Moritz Kobitzsch
312e86eb58
handle merge on collapsed instructions
2016-06-06 11:55:14 +02:00
Daniel J. Hofmann
448f8377fb
Sync with Clang38 Format
2016-06-02 13:14:33 +02:00
Daniel J. Hofmann
6edc565c01
Add destinations API feature
2016-06-02 12:00:23 +02:00
Moritz Kobitzsch
bdc66049a5
fix INVALID_NAME_ID vs INVALID_NAMEID -> EMPTY_NAMEID
2016-06-01 23:19:26 +02:00
Patrick Niklaus
0a53775fb3
Expose pronunciation in RouteStep
...
Uses name:pronunciation by default for cars.
2016-06-01 23:17:57 +02:00
Patrick Niklaus
6e16eab6ec
Format with clang-format 3.8
2016-05-27 21:05:04 +02:00
Daniel J. Hofmann
6865853776
Not everything is a NodeID!
2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
bbc79dd49f
ExtractionContainers already owns its data
2016-05-26 22:50:17 +02:00
Daniel Patterson
3d03797e53
Distinguish between offramps and sliproads.
2016-05-26 21:31:04 +02:00
Michael Krasnyk
b5225f07cb
Fix #2413 by converting enums to unsigned char constants
2016-05-23 18:33:24 +02:00
Moritz Kobitzsch
d150df1c5c
format
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification
2016-05-19 16:43:46 +02:00
Michael Krasnyk
508c205d35
Refactoring of iso_8601_grammar
...
* formats 'hh:mm:ss' and ISO 8601 are merged into one grammar.
* iso_8601_grammar is changed to static const.
* iso_8601_grammar supports formats P[n]DT[n]H[n]M[n]S, P[n]W,
and part of alternative PTHHMMSS and extended PTHH:MM:SS formats.
2016-05-17 00:39:32 +02:00
Moritz Kobitzsch
6018fcf490
Introduce on_ramp and off_ramp, deprecate ramp
2016-05-04 12:09:54 +02:00
Moritz Kobitzsch
1e6888c0d3
fix new-name on empty strings
2016-05-04 10:52:55 +02:00
Patrick Niklaus
83482afa02
Fix naming conventions of TrajanSCC
2016-05-02 17:25:58 +02:00
Patrick Niklaus
e470d1ae1c
Fix naming convention in RasterSource
2016-05-02 17:25:58 +02:00
Lauren Budorick
b8f7569e93
Implement arbitrary turn penalty file IO and integration ( #2306 )
...
Closes #1830
2016-04-29 00:48:13 -07:00
Moritz Kobitzsch
cf17bd38eb
Revert "Revert "switched to space separated suffix/prefix only""
2016-04-28 14:59:17 +02:00
Patrick Niklaus
e88106e990
Revert "switched to space separated suffix/prefix only"
...
This reverts commit e9e935303c
.
2016-04-27 23:20:10 +02:00
Moritz Kobitzsch
e9e935303c
switched to space separated suffix/prefix only
2016-04-27 19:12:24 +02:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
Moritz Kobitzsch
fddb035539
suppress name additions (xxx -> xxxbridge)
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
1544a08ea2
introduce roundabout-turns into instruction set
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
3ac061c546
fix guidance issues / improve tests
2016-04-26 10:34:39 +02:00
Moritz Kobitzsch
e59a7926a2
roundabout for segregated entry roads
2016-04-26 01:01:09 +02:00
Moritz Kobitzsch
7b32d3184c
remove unused instruction types
2016-04-25 19:24:59 +02:00
Moritz Kobitzsch
d770c35245
refactor guidance
2016-04-25 19:24:59 +02:00
karenzshea
58c13d2c07
remove movable bridge travel mode references
2016-04-19 12:59:33 -04:00
Patrick Niklaus
589767fe6d
uturns -> continue_straight
2016-04-12 23:16:02 +02:00
Daniel Patterson
43725bae89
Fix Radius Calculation for points collinear in latidue
2016-04-12 11:25:59 +02:00
Moritz Kobitzsch
fcbf527ba5
refactor of turn analysis into turn handlers
2016-04-08 18:14:43 +02:00
Moritz Kobitzsch
fa0a5040e5
adding tests for guidance
2016-04-08 10:43:22 +02:00
Moritz Kobitzsch
f2443c64db
adds distinction between rotaries/rounabouts
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
470d7600b8
fixes 2219
2016-04-05 22:59:14 +02:00
Lauren Budorick
49e2cb6c36
Fix raster_source + tests
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
38db495879
Address PR comments
...
Renamed lua_function_exists and removes unused print function
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
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
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
Moritz Kobitzsch
c439594403
report depart/arrive in addition to waypoint
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
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
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
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
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