Michael Krasnyk
fc39e0ce1a
Allow multiple GeoJSON files
2017-10-04 10:03:42 +02:00
Michael Krasnyk
f40b7975f2
Change from rtree.q{begin,end} to rtree.query (Boost 1.55 support)
2017-10-04 10:03:42 +02:00
Michael Krasnyk
3c399e5c28
Propagate is_left_hand_driving from profile to data facade
2017-10-04 10:03:42 +02:00
Michael Krasnyk
de942155bf
Add local left_hand_driving flag in API version 2
2017-10-04 10:03:42 +02:00
Michael Krasnyk
af3f0a4782
Use driving_side tag of location-dependent data and OSM ways
2017-10-04 10:03:42 +02:00
Michael Krasnyk
c9673741de
Added location dependent data
2017-10-04 10:03:42 +02:00
Daniel J. Hofmann
d7bcafcb59
Uses parsed len(turn:lanes) to fixup number of lanes, resolves #4472
2017-09-28 00:24:14 +02:00
Michael Krasnyk
fa1a4e8bf6
Relax strict bearings ordering condition to non-strict one, #4331
2017-09-18 21:33:00 +02:00
Michael Krasnyk
2532d56b85
Turn angle calculation needs to respect initial road order, #4331
2017-09-18 21:33:00 +02:00
Michael Krasnyk
64ad308e9d
Small ProcessElements refactoring
2017-09-14 20:00:05 +02:00
Michael Krasnyk
94169a20de
Remove RelationsContainerWrap
2017-09-14 20:00:05 +02:00
Michael Krasnyk
5ca38eee3a
Remove RelationMemberWrap and avoid data copying
2017-09-14 20:00:05 +02:00
Michael Krasnyk
f89ada7f61
Remove ExtractionRelationData wraper
2017-09-14 20:00:05 +02:00
Denis Koronchik
ff3b398e23
Review fixes
2017-09-14 20:00:05 +02:00
Denis Koronchik
84cb7865ab
Fix different compilers support
2017-09-14 20:00:05 +02:00
Denis Koronchik
75bdf114be
Review fixes
2017-09-14 20:00:05 +02:00
Denis Koronchik
c2fd64d3cc
Apply clang format
2017-09-14 20:00:05 +02:00
Denis Koronchik
f79bcc6b8d
Pass relation data to way and node functions
2017-09-14 20:00:05 +02:00
Denis Koronchik
f2b63ba0aa
LUA binding for a relation processing
2017-09-14 20:00:05 +02:00
Mateusz Loskot
fb5bd818d9
CanMergeRoad missed test of rhs instance of IntersectionShapeData
...
Avoids identical sub-expressions road_target(lhs) == intersection_node
2017-08-31 00:34:28 +02:00
Mateusz Loskot
43a4e8db12
Use user-provided osmium: 🧵 :Pool instance
...
Advantages:
* Allows to use Pool configured with user-preferred number of threads.
* If libosmium used in a shared library, this helps to prevent potential
deadlock during Pool shutdown at (after) shared library unloading.
See https://github.com/osmcode/libosmium/pull/214
Requires libosmium 2.13.0
2017-08-31 00:34:09 +02:00
Mateusz Loskot
302390696e
Remove repeated sub-expression for TurnType::Suppressed test
2017-08-31 00:33:00 +02:00
Patrick Niklaus
bc8617a9f4
Fix remaining PR comments
2017-08-21 13:00:12 +02:00
Patrick Niklaus
27324d0270
Add more tests for exclude validation
2017-08-21 13:00:12 +02:00
Patrick Niklaus
d09f5c0e3a
Avoid -> Exclude
2017-08-21 13:00:12 +02:00
Patrick Niklaus
c6be2e768a
Throw an error for invalid classes
2017-08-21 13:00:12 +02:00
Patrick Niklaus
6339395cba
Fix clang format
2017-08-21 13:00:12 +02:00
Patrick Niklaus
21686ee8a9
Add datafacade factory to select avoid flags
2017-08-21 13:00:12 +02:00
Patrick Niklaus
9c11197768
Extract avoidable combinations from profiles into ProfileProperties
2017-08-21 13:00:12 +02:00
Michael Krasnyk
20cfa159ec
Fix boost::optional construction error
2017-08-11 17:32:35 +02:00
Moritz Kobitzsch
93299d6651
handle conditional via-way restrictions
...
- refactor conditional restriction handling to not use external data (first OSM nodes on ways)
- BREAKING: changes internal file format of osrm.restrictions
- add support for general conditional penalties based on edge-based nodes (requires unique edges between nodes)
2017-08-11 11:53:25 +02:00
Moritz Kobitzsch
a17b07bc4c
fix bug in conflict resolution
2017-08-11 11:01:54 +02:00
FILLAU Jean-Maxime
a420169109
Reintroduce location for NodeRef in luabinding
2017-08-08 10:59:25 +02:00
Michael Krasnyk
a8db269fd5
Adjust lower bound for crossroad angle in sliproads handler, #4348/2
2017-08-04 14:37:13 +02:00
Michael Krasnyk
1ecc913fc2
Fix sliproad scenario with 4 roads in a target intersection, #4348/1
2017-08-04 14:07:35 +02:00
Moritz Kobitzsch
153e934ed4
shift circle angle a bit
2017-08-04 11:20:31 +02:00
Moritz Kobitzsch
bbcf343e40
compress traffic signals
...
- handle penalties within edges (not phantom nodes)
- changes model from providing penalties on turns to using additional segments
2017-08-04 11:19:32 +02:00
Michael Krasnyk
df2d4daad3
Fix gcc5 internal compilation error
2017-08-02 10:25:38 +02:00
Moritz Kobitzsch
917a36eaee
fix pedantic warnings
2017-08-01 12:27:29 +02:00
Moritz Kobitzsch
8135f08958
restructure for review remarks
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
8d0202d240
Add data structure to allow identification of via-way turns during creation of edge-based-graph
...
initial version of handling via-way turn restrictions (this is dirty)
- requires update of data structures
- requires clean-up
- requires optimisation
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
b1809d1667
pre-filter turn restrictions for validity
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
2e9a7d9c1a
refactor restriction parsing / extraction to actual types
...
Makes turn restrictions into dedicated structures and diferentiates between them via a variant.
Ensures that we do not accidentally mess up ID types within our application.
In addition this improves the restriction performance by only parsing all edges
once at the cost of (at the time of writing) 22MB in terms of main memory usage.
2017-07-31 09:36:25 +02:00
Daniel Patterson
be5fc50136
Save both forward and reverse datasources.
2017-07-27 14:45:28 -07:00
Moritz Kobitzsch
0affec8f17
handle throughabouts -- do not announce going through
2017-07-26 10:37:20 +02:00
Pepijn Schoen
d9e8caf369
Use GetPath with file names over accessing member variables
2017-07-20 12:01:05 +02:00
Pepijn Schoen
5a6dee80ac
Fix rebase problems
2017-07-20 12:01:05 +02:00
Pepijn Schoen
67fae1d1f0
rename osrm_input_path to osrm_path, clang-format
2017-07-20 12:01:05 +02:00
Pepijn Schoen
1b31099f73
superclass extractor_config with io_config
2017-07-20 12:01:05 +02:00
Patrick Niklaus
440dccb81b
Move classes to intersection object and don't emit notifications
2017-07-18 16:48:22 +00:00
Emil Tin
e413b25cd9
profiles api v2
2017-07-18 10:09:22 +00:00
Moritz Kobitzsch
f2f00b99e0
remove usage of use-lane completely
2017-07-18 11:23:46 +02:00
Michael Krasnyk
b2ed46efb5
Check activation index of EntryClass and warn if activation failed
2017-07-13 22:14:41 +00:00
Moritz Kobitzsch
30b8225812
only consider allowed entries when continuing on motorways
2017-07-13 08:59:01 +00:00
Michael Krasnyk
924a8a7e38
Remove STXXL from OSM parsing and enable in CMake by default
2017-07-11 08:23:26 +00:00
Michael Krasnyk
3940cc1641
Switch from stxxl::vector to std::vector in extractor
2017-07-11 08:23:26 +00:00
Michael Krasnyk
a498ba6537
Removed external_to_internal_node_id_map container
2017-07-11 08:23:26 +00:00
Patrick Niklaus
fef0344be0
Don't use bool flags on ExternalMemoryNode because they blow up the struct
2017-07-07 13:24:34 +00:00
Patrick Niklaus
44739f2dc3
Allow users to specify a class for each way
...
This adds the ability to mark ways with a user-defined
class in the profile. This class information will be included
in the response as property of the RouteStep object.
2017-07-06 09:17:49 +00:00
Moritz Kobitzsch
4c7aa8f1c0
only consider narrow turns onto through streets straight
2017-07-04 22:03:04 +00:00
Daniel J. Hofmann
7d900e3b5a
Implements Exit Numbers + Names (junction:ref
way tag for now)
2017-07-04 20:58:19 +00:00
Michael Krasnyk
9d8a3e3c97
Propagate lane data across traffic lights
2017-06-29 15:10:37 +00:00
Michael Krasnyk
1b540fe0ba
Correct condition for is_going_straight_and_turns_continue
2017-06-29 15:10:37 +00:00
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 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
Daniel Patterson
3d77714c36
Make most command-line tools return useful error codes on well-known exceptions.
2017-06-08 15:03:24 +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
Moritz Kobitzsch
a92674022a
make all u-turns continue
2017-06-01 12:39:10 +02:00
Moritz Kobitzsch
9bd2b0deaa
fix invalid turn angle in forks
2017-06-01 11:43:18 +02:00
Daniel Patterson
7eab227ab1
Use FileWriter for better error handling when writing name data.
2017-05-29 15:09:36 +00:00
Michael Krasnyk
314cf3f31a
Add a comment line about counting
2017-05-23 18:27:47 +00:00
Michael Krasnyk
1d26deb0be
Allow counting of service exits on service roundabouts, see #4075
2017-05-23 18:27:47 +00:00
Michael Krasnyk
a63b43c259
Place reverse entering_via_edge in the front of intersection_view
2017-05-22 09:33:59 +00:00
Daniel J. Hofmann
862ec14e06
Asserts Valid Iterators in Roundabout Exit Invalidation, see #4024
2017-05-22 09:33:59 +00: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
Michael Krasnyk
e605917083
Changed some assert to OSRM_ASSERT
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
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
Michael Krasnyk
1f701341db
Move reserve call before pushing weights
2017-05-03 21:59:38 +00:00
Michael Krasnyk
2402d60429
Adjusted to PR comments
2017-05-02 16:55:03 +00:00
Michael Krasnyk
19494984eb
Fix incorrect exit turn invalidation
2017-05-02 16:55:03 +00:00
Patrick Niklaus
a68435d856
Move clip functions to lambda
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
a66918a303
Make PackedVector generic
2017-04-18 17:24:46 +00:00
Pepijn Schoen
e85c4f87e9
Skip fingerprinting .turn_penalties_index, to be done in a separate iteration because of Appveyor issues.
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
0c388a5264
Fingerprint .turn_penalties_index
2017-04-18 12:01:06 +00:00
Pepijn Schoen
e4eb18cf4e
Fingerprint .properties
2017-04-18 12:01:06 +00:00
Pepijn Schoen
5b4f432cba
Fingerprint .tld
2017-04-18 12:01:06 +00:00
Pepijn Schoen
15f7257645
Fingerprint .turn_duration_penalties and .turn_weight_penalties
2017-04-18 12:01:06 +00:00
Pepijn Schoen
12c11f1d48
Fingerprint .names
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
8da96f8d94
fingerprint .tld
2017-04-18 12:01:06 +00: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
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
90c194fc81
Refactor turn description into own file
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
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
e262cac3e8
Flip source and target coordinates for segments in only backward direction
2017-03-29 22:05:37 +00:00
Michael Krasnyk
4ab3165ae3
Fix unnecessary duplication of backward segments for non-split edges
...
for edges with the split flag false and in_backward_direction true
if in_forward_direction is also true backward segments can be incorrectly duplicated
2017-03-29 22:05:37 +00:00
Michael Krasnyk
78a199e2fb
Add read-only max_turn_weight in ProfileProperties
2017-03-20 20:06:51 +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
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
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
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
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
Mateusz Łoskot
e705ff16e3
Ensure Extractor scheduler is requested with non-Zero number of threads.
...
By default, ExtractorConfig::requested_num_threads is Zero,
which is an invalid value for tbb task scheduler.
If user does not specify value greater than Zero, then
use tbb::task_scheduler_init::automatic.
2017-03-09 12:28:19 +01:00
Michael Krasnyk
f42136637d
Add edge-based graph loading in MLD facade
2017-03-08 00:56:50 +00:00
Michael Krasnyk
53b0417e36
fix boost::optional warning
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
Michael Krasnyk
f5e9c7df07
adjust extractor scc to new StaticGraph
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
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
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
Moritz Kobitzsch
1ad1ff5fc1
remove unsigned >= 0 checks, unused constnat
2017-02-21 13:55:59 +01:00
karenzshea
c2727f2029
expose data about turning onto restricted roads to turn function
2017-02-20 12:40:51 +00:00
Moritz Kobitzsch
dc1d491c15
comments
2017-02-13 10:55:40 +00:00
Moritz Kobitzsch
e4d500f451
fix handling none-tags in presence of multiple turns within
2017-02-13 10:55:40 +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
Michael Krasnyk
6e1c4bfecd
Added indexed array data type with variable and fixed group blocks
2017-02-07 07:41:12 +00:00
Michael Krasnyk
c48fc58eb2
reduce size of InternalExtractorEdge by using single-precision values
2017-02-03 21:52:39 +00:00
Michael Krasnyk
5f1c7efd41
assertion for correct weight data
2017-02-03 18:59:00 +00:00
Patrick Niklaus
eaed5c7a8e
Split if in ProcessWay to comform to old behavior
2017-02-03 12:41:26 +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
Moritz Kobitzsch
c7640903c3
don't emit invalid turns when having u-turns on ferries
2017-01-26 13:08:00 +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
Moritz Seemann
59ad7dddb2
make osm_elements a loop variable, not a local variable
...
The vector osm_elements was created and destroyed in each loop
iteration. It can be kept and cleared instead.
2017-01-13 11:12:02 +01:00
Moritz Kobitzsch
c1f833c80f
fix forks exiting a ferry
2017-01-12 09:58:51 +01:00
Moritz Kobitzsch
06ef3053de
fix coordinate assertion for walking profile with steps
2017-01-11 22:44:23 +01:00
Daniel J. Hofmann
b3483f95a7
Fixes Sliproads onto a roundabout to be classified as sliproads, resolves #3540
2017-01-09 17:46:05 +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 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
Michael Krasnyk
7dea7476f1
Removed unused structure and fixed "multi-line comment" warning
2017-01-05 12:59:12 +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
FILLAU Jean-Maxime
aad2124faa
Adding nodes's and ways's version access in lua binding.
...
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
Michael Krasnyk
2640a319c1
Wrap way.nodes() returned reference into sol::as_table
2017-01-04 08:29:27 +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
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
FILLAU Jean-Maxime
37051e1583
Adding the location validity access for lua scripting.
...
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2016-12-16 16:02:24 +01: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
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
8a1afe456f
Works around Unreachable Warning for Debug Build
2016-12-13 12:41:25 +01:00
Moritz Kobitzsch
1cd5394a16
fix invalid assertion in coordinate_extractor
2016-12-12 10:12:32 +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
Moritz Kobitzsch
a28a20a1ba
fix errors in coordinate extractor due to duplicated coordinates
...
fix offset calculation in curve detection
2016-12-07 11:33:58 +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
Moritz Kobitzsch
24b01fae00
fix extraction of coordinate along a way ( #3397 )
...
Also fix interpolation when coordinates are duplicated at the end of the vector
2016-12-02 13:11:04 -08: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
Moritz Kobitzsch
5775679f64
fix coordinate extraction / errors in offset detector
2016-12-01 12:16:25 +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
186cc8340a
handle service roads next to roundabouts - ambiguous exit... :(
2016-11-29 11:47:35 +01:00
Moritz Kobitzsch
d02dd67e95
fix update to length cache
2016-11-23 11:27:59 +01:00
Moritz Kobitzsch
a49bd70985
add low precision intersection_generator mode for faster graph traversal
2016-11-22 18:25:19 +01:00
Daniel J. Hofmann
08b7270f5c
Fixes accidentally registering types twice to Luabind, closes #2811 .
2016-11-22 10:09:08 +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
Daniel J. Hofmann
2a383efbf6
Makes Throughput Numbers Integral Types
2016-11-21 12:41:25 +01:00
Patrick Niklaus
3bade8625f
Don't crash on assigning nil to a string in lua
2016-11-21 12:17:44 +01:00
Emil Tin
a5756fc764
fix c++ formatting
2016-11-18 00:21:34 +01:00
Emil Tin
dce685c780
ensure we don't pass empty tags to LUA
2016-11-18 00:21:34 +01:00
Emil Tin
d87a972c66
don't return empty tags strings to lua
2016-11-18 00:21:34 +01:00
Daniel J. Hofmann
1b4779a58c
Avoids Shuffling Data Around for Nothing, closes 3306
2016-11-17 12:51:18 +01:00
Moritz Kobitzsch
a4264c7849
fix node-based-graph-walker
2016-11-16 12:03:59 +01:00
Moritz Kobitzsch
538bbd47d1
fix length limited graph walker
2016-11-14 18:38:15 +01:00
Patrick Niklaus
5a293e891b
Merge pull request #3296 from Project-OSRM/libosmium-2.10.0
...
Osmium 2.10
2016-11-12 02:12:49 +01:00
Michael Krasnyk
b57169e221
Flush stxxl vectors before using in PrepareData
2016-11-12 02:09:51 +01:00
Daniel J. Hofmann
0375af197d
Skips OSM object metadata reading, closes #3278
2016-11-11 16:35:57 +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
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
Moritz Kobitzsch
ccdebccde1
adjust sliproad handler for empty-name check, illustrate testcase
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
Moritz Kobitzsch
2fb40944bf
pull in intersection finder accumulator
2016-11-04 13:28:09 +01:00
Michael Krasnyk
b108d8ea21
Use explicit std::function for to_lane_count instead of auto
2016-11-04 10:46:24 +00:00
Daniel J. Hofmann
d2cd4fac2d
Fixes Always-Zero Lane Count Introduced in #3237
2016-11-03 15:52:18 +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
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Moritz Kobitzsch
8dc667f20d
fix warnings due to superfluous ;
2016-10-27 20:06:14 +02:00
Moritz Kobitzsch
8ff4bc09ac
fix breaking the sorting order by node adjustments
2016-10-27 19:55:56 +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
Moritz Kobitzsch
e8b947bca6
fix coordinate extraction with less than 1 meters past lane distance
2016-10-25 10:07:09 -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
jakepruitt
c30784895d
clang-format and remove debug
2016-10-20 11:32:28 -07: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
Patrick Niklaus
769485cc2f
Initilialize tbb task scheduler correctly. Thanks @oxidase!
2016-10-19 18:30:06 +02:00
Huyen Chau Nguyen
06d13b6954
run clang-format on edited files
2016-10-17 15:27:14 -07:00
Huyen Chau Nguyen
d0c142b9c7
remove util self-written make_unique and use C++14 stdlib make_uniqe
2016-10-17 15:27:14 -07: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
Moritz Kobitzsch
17eb664597
don't get disturbed by service roads in obvious discovery
2016-10-13 16:10:59 +02:00