Daniel J. Hofmann
2224389fb3
Filters zero value histograms, formats numbers
2017-11-06 14:38:21 -05:00
Daniel J. Hofmann
aed7bd852d
Prints turn types and modifiers as strings
2017-11-06 14:38:21 -05:00
Daniel J. Hofmann
c5b48e3506
Adds a statistics handler for turn types and modifiers
2017-11-06 14:38:21 -05:00
Kajari Ghosh
cbc96ec492
refactor ExtractionTurn and ProcessTurn c++ code
2017-11-06 13:34:02 -05:00
Denis Koronchik
0fc6903d7e
Fix issue #4585
2017-10-25 14:11:33 +02:00
Moritz Kobitzsch
704cf314d4
explicitly check for 90 degree turns / turning onto segregated roads
2017-10-23 09:06:59 +02:00
Denis Koronchik
895f072425
Work on forward/backward ref's support
2017-10-19 15:18:25 +01:00
Denis Koronchik
4b8daac104
Fix formatting
2017-10-16 12:15:12 +01:00
Denis Koronchik
c42e247d87
Work on relation extract refactoring to support recursive relations (superrelations)
2017-10-16 12:15:12 +01:00
vng
c718f140fa
Fixed c/p typo.
2017-10-14 15:05:26 +02:00
Moritz Kobitzsch
2ddd98ee6d
simplify passing annotation data through OSRM pipeline using the node-based datastore
...
- separates node-based graph creation and compression from edge-based graph creation
- moves usage of edge-based node data-container to pre-processing as well, unifying access to node-based data
- single struct instead of separate vectors for annotation data in engine (single place of modification)
2017-10-09 18:44:43 +02:00
Michael Krasnyk
11e7b6e911
Add last location memoization in Lua context
2017-10-04 10:03:42 +02:00
Michael Krasnyk
545097cf06
Don't use location cache if not needed
2017-10-04 10:03:42 +02:00
Michael Krasnyk
476bc347b4
Allow multiple GeoJSON files with locations data
2017-10-04 10:03:42 +02:00
Michael Krasnyk
095b345713
Change location data method to way:get_location_tags(key)
2017-10-04 10:03:42 +02:00
Michael Krasnyk
0f498d13f5
Access to location dependent data in Lua via way:get_location_tags()
2017-10-04 10:03:42 +02:00
Michael Krasnyk
20ff138f08
Remove polygon copying overhead
2017-10-04 10:03:42 +02:00
Michael Krasnyk
421115200b
Port osmium point-in-polygon function
2017-10-04 10:03:42 +02:00
Michael Krasnyk
b15288e0ea
Add location_dependent_data unit tests
2017-10-04 10:03:42 +02:00
Michael Krasnyk
4eac861eae
Left-hand driving flag review updates
2017-10-04 10:03:42 +02:00
Michael Krasnyk
7ad9e13f1e
Add MultiPolygon support
2017-10-04 10:03:42 +02:00
Michael Krasnyk
fc39e0ce1a
Allow multiple GeoJSON files
2017-10-04 10:03:42 +02:00
Michael Krasnyk
6468f55627
Make class_names default initialized
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
Jack Danger
79d07ef45c
Updating year on all 'Project OSRM' copyrights
2017-10-03 12:03:26 +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
5ca38eee3a
Remove RelationMemberWrap and avoid data copying
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
Denis Koronchik
a253111cbe
Add ExtractionRelation class
2017-09-14 20:00:05 +02:00
Moritz Kobitzsch
c2dc7e9cd0
use enter + exit for roundabout instructions ( #4358 )
...
* Expose roundabout/rotary exit instructions as a new instruction type.
2017-09-05 12:30:34 -07: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
84fd38ac9c
Add tests for avoid flags
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
Moritz Kobitzsch
f347efb006
detect turning onto oneways at the end of the road as non obvious
2017-08-18 16:33:11 +02:00
vng
76d5d054cb
Compilation fix.
2017-08-14 16:18:36 +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
Mateusz Loskot
80b705e997
Add workaround for Visual C++ issue with std::array in debug
...
If Visual C++ _ITERATOR_DEBUG_LEVEL > 0, then
accessing std::array<char[N], M> elements via reference to const
causes compilation error:
...\msvc\14.10.25017\include\array(181): error C2440: 'return': cannot convert from 'const char *' to 'const char (&)[256]'
Alternative workaround is to remove const qualifier from the GetClassName method.
2017-08-10 12:21:42 +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
Moritz Kobitzsch
7620d419c6
fix serialisation of conditional turn restrictions
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
Pepijn Schoen
8da40419ee
Maintain storage_config exposed API
2017-07-20 12:01:05 +02:00
Pepijn Schoen
0b5c7a97a7
Addressed comments
2017-07-20 12:01:05 +02:00
Pepijn Schoen
d9e8caf369
Use GetPath with file names over accessing member variables
2017-07-20 12:01:05 +02:00
Pepijn Schoen
e208485c17
expose mandatory / optional / output files in io_config; config files to use new io_config constructor
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
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
Moritz Kobitzsch
7b755d6f8b
deprecate use-lane -- the information can be found in the intersections array
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
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
Daniel J. Hofmann
54ceb05420
Implements Alternatives for MLD
2017-07-07 16:12:46 +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
Daniel J. Hofmann
7d900e3b5a
Implements Exit Numbers + Names (junction:ref
way tag for now)
2017-07-04 20:58:19 +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 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