Daniel Patterson
2f9cb44368
mmap
tarfiles directly when mmapping is enabled, instead of copying data into separate mmapped block
...
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-26 23:53:59 -07:00
Yota Toyama
a53da9095a
Fix table node API docs ( #5204 )
2018-10-01 16:45:05 +03:00
Kajari Ghosh
5597415f28
Revert "Improve speed of Map Matching" ( #5196 )
...
* Revert "Update changelog"
This reverts commit 9b779c704f
.
* Revert "Fix formating"
This reverts commit 5bd7d04fe3
.
* Revert "Fix bug in computation of distance offset for phantom node"
This reverts commit 0f78f7b2cc
.
* Revert "Adjust text cases for flightly different matching due to rounding"
This reverts commit 8473be69d2
.
* Revert "Round network distance to deci-meter to retain previous behavior"
This reverts commit c0124f7d77
.
* Revert "Preserve heap state in map matching"
This reverts commit b630b4e32a
.
* Revert "Use distance functions from many to many"
This reverts commit 89fabc1b9c
.
* Revert "Use FCC algorithm for map matching distance calculation"
This reverts commit a649a8a5cf
.
2018-09-06 12:05:28 -04:00
Jie
5476f6ab27
Fix GDB not work for osrm-routed on Linux ( #5157 )
...
As I mentioned in the issue #5156 , I met below issue on my Win10+WSL(Ubuntu) env:
The remote debugger (VSCode on Win10, gdb on Ubuntu 18.04 LTS) works well from the beginning of the main() function. But when I step over the code pthread_sigmask(SIG_BLOCK, &new_mask, &old_mask); (src/tools/routed.cpp(289)), below breakpoints can not work and displayed unverified breakpoint.
Then I found that gdb breakpoint need at least SIGTRAP, SIGSTOP to work (Please refer to [how debugger works](http://www.alexonlinux.com/how-debugger-works ) for more details), but all signals are blocked in the source code until server initialized done.
In my understanding, block all signals DO NOT make sense for this osrm-routed process. Only several signals (SIGINT, SIGQUIT, SIGTERM) are expected to wait. So I made the change and it works well for me then.
2018-09-05 16:23:48 -07:00
Daniel Patterson
0971f06193
Add option to node bindings to return result as a pre-generated JSON string (this avoids a lot of overhead, and moves JSON string rendering out of the main event loop).
2018-09-05 15:09:13 -07:00
Daniel Patterson
69d7825542
Increase allowed shared memory regions to 512 from ~120
2018-09-05 11:48:02 -07:00
Patrick Niklaus
5bd7d04fe3
Fix formating
2018-08-02 12:19:24 +02:00
Patrick Niklaus
c0124f7d77
Round network distance to deci-meter to retain previous behavior
2018-08-02 12:19:24 +02:00
Patrick Niklaus
b630b4e32a
Preserve heap state in map matching
2018-08-02 12:19:24 +02:00
Patrick Niklaus
89fabc1b9c
Use distance functions from many to many
2018-08-02 12:19:24 +02:00
Patrick Niklaus
a649a8a5cf
Use FCC algorithm for map matching distance calculation
2018-08-02 12:19:24 +02:00
Michael Krasnyk
82b5648c97
Don't collapse segregated intersections at roundabout exits, #5114
2018-06-21 15:24:03 +02:00
Matthias Gilch
e5d8319c43
Removed unused variable
...
The variable name_data_mutex is declared in a block but never used
within this block. So I've removed the variable.
2018-06-02 22:49:30 +02:00
Patrick Niklaus
3b4e2e83ef
Fix excluding nodes for one to all query
2018-05-08 15:50:25 +00:00
Patrick Niklaus
c459530cb6
Address PR comments
2018-05-08 15:50:25 +00:00
Kajari Ghosh
2a15e6dec8
Add support for annotations=distances in MLD
...
This commit brings feature parity with CH for the `table` pluging.
2018-05-08 15:50:25 +00:00
Michael Krasnyk
318df9deaa
Adjust ebn_weight assertion to new node weights
2018-05-01 18:53:04 +02:00
Michael Krasnyk
cacb162520
Review and rebase updates
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9695fa7941
Remove weight and duration from customizer::EdgeBasedGraphEdgeData
2018-04-28 08:59:18 +02:00
Michael Krasnyk
fd9bebbfa7
Add EBG node durations
2018-04-28 08:59:18 +02:00
Michael Krasnyk
db18e8669f
Always read .osrm.enw file in updater
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9b4a4fdd82
Add customizer::MultiLevelGraph
2018-04-28 08:59:18 +02:00
Michael Krasnyk
cdc7e5f021
Fix for updating node weights in contraction hierarchy
2018-04-28 08:59:18 +02:00
Michael Krasnyk
adc87149e2
List dataset blocks
2018-04-28 08:59:18 +02:00
Patrick Niklaus
ae805f9ec8
Make cheap rulers static
2018-04-27 05:21:08 +02:00
Patrick Niklaus
be24689b0f
Optimize distance calculation by getting rid of rounding
2018-04-27 05:21:08 +02:00
Huyen Chau Nguyen
7837cd61df
clang format
2018-04-27 05:21:08 +02:00
Huyen Chau Nguyen
b573485c31
only use half of rulers because earth is symmetric
2018-04-27 05:21:08 +02:00
Huyen Chau Nguyen
5ba26d3d6d
refactor cheap ruler cache
2018-04-27 05:21:08 +02:00
Daniel Patterson
a6cf2eee7e
Use faster method for calculating distances.
...
fix cmakelist
2018-04-27 05:21:08 +02:00
Kajari Ghosh
1bc3ff6491
fix the ascii art to make sense
2018-04-25 23:51:27 +02:00
Kajari Ghosh
b0f2ef287e
fix the offset case when there is no packed path to unpack
2018-04-25 23:51:27 +02:00
Patrick Niklaus
16f53ff81a
Sort unpacked paths by sharing
2018-04-25 16:07:31 +02:00
Patrick Niklaus
7a260dc2ba
More parameter tuning
2018-04-25 16:07:31 +02:00
Patrick Niklaus
1c0d951f5e
Adjust to PR comments
2018-04-25 16:07:31 +02:00
Patrick Niklaus
77a740c0fb
Parameter tuning for different route lengths
2018-04-25 16:07:31 +02:00
Patrick Niklaus
61101db8cf
Use duration and not weight for sharing
2018-04-25 16:07:31 +02:00
Patrick Niklaus
b51632a2fb
Chose alternatives parameters based on coordinate distance
2018-04-25 16:07:31 +02:00
Patrick Niklaus
9d10503a9c
Replace step function with contious scaling
2018-04-25 16:07:31 +02:00
Patrick Niklaus
7d50e5afe0
Refactor parameters to be selected at runtime
2018-04-25 16:07:31 +02:00
Patrick Niklaus
549216c792
Compute sharing weighted by edge weight
...
This ensures that small insignificat turns don't affect the overall
sharing metric too much.
2018-04-25 16:07:31 +02:00
Patrick Niklaus
1990de7dcc
Fix inserting edges of shortest path for sharing check
...
This caused very sub-optimal routes to be selected.
2018-04-25 16:07:31 +02:00
Kajari Ghosh
89f6e2d55b
Parse table annotations param correctly ( #5050 )
...
* fix incorrect parameter parsing for node osrm and add tests
* fix boost spirit grammar parsing for annotations
* return NotImplemented when distance annotation is requested for MLD in table plugin
* update docs
2018-04-24 11:05:35 -04:00
Michael Krasnyk
c628ecbf24
Update tile unit tests
2018-04-24 15:40:57 +02:00
Jochen Topf
b6f19cd544
Use vtzero in tile plugin.
...
This uses the new vtzero library (https://github.com/mapbox/vtzero )
instead of using protozero directly.
2018-04-24 15:40:57 +02:00
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH ( #4990 )
2018-04-20 18:18:55 -04:00
Duane Gearhart
7740d5d7c0
Do not combine a segregated edge with a roundabout ( #5040 )
...
* Do not combine a segregated edge with a roundabout, add test
2018-04-20 11:41:53 +02:00
Patrick Niklaus
c5cc4c5a74
Remove double log printing
2018-04-13 10:13:57 +00:00
karenzshea
e3b831364f
empty list of shmem regions if none found
2018-04-13 12:07:10 +02:00
karenzshea
730d2b5ef2
log err instead of throwing when no shmem regions found
2018-04-13 12:07:10 +02:00
Patrick Niklaus
bf2b45120a
Use ArrayStorage for boundary nodes to optimize MLD
...
For the MLD algorithm we can partition the NodeID range into boundary
and non-boundary nodes. Since there are only we boundary nodes we can
use the ArrayStorage for those yielding much faster query times.
2018-04-09 15:08:00 +02:00
Patrick Niklaus
7edf0f218c
Better statistics for osrm-partition and osrm-custimize
2018-04-09 13:39:39 +02:00
Michael Krasnyk
8d8042ebae
Use ranges with fixed types
2018-04-09 11:05:01 +02:00
Kajari Ghosh
be123cd72f
Use ranges in datafacade instead of vectors
...
Range type must use immutable references due to a
regression in `boost::any_range`.
References:
https://svn.boost.org/trac10/ticket/10493
https://stackoverflow.com/questions/42427395/boostany-range-with-optimization-level-o2-causes-crash/42427662
2018-04-09 11:05:01 +02:00
Daniel Patterson
282415bbc1
Honour British spelling of manoeuvre relation ( #5004 )
...
* Support British spelling of manoeuvre to comply with OSM standards.
2018-04-06 17:08:30 -07:00
Patrick Niklaus
39dd484f45
Restore the connectivity checksum check
2018-04-07 00:22:29 +02:00
Patrick Niklaus
a915542916
Add option to only update the metric dependent data
2018-04-07 00:22:29 +02:00
Patrick Niklaus
fea07f343b
Load data in two separate data regions
2018-04-07 00:22:29 +02:00
Patrick Niklaus
c7daa521ad
Address PR comments
2018-04-05 15:12:47 +02:00
Patrick Niklaus
4610fd9ff1
Fix formating
2018-04-05 15:12:47 +02:00
Patrick Niklaus
0e8b8b4901
Add nodejs test for dataset name
2018-04-05 15:12:47 +02:00
Patrick Niklaus
2c80f76004
Add support for naming the dataset
2018-04-05 15:12:47 +02:00
Patrick Niklaus
666ce46d36
Refactor shared memory storage to allow for multiple named datasets
2018-04-05 15:12:47 +02:00
Michael Krasnyk
bc120776f0
Don't apply unimplemented SH and PH conditions
2018-04-05 13:31:48 +02:00
Patrick Niklaus
cb4586ebee
Make use of the view factory in the data facade
2018-04-04 12:38:40 +02:00
Patrick Niklaus
44924b4bb4
Refactor view creation to own header file
2018-04-04 12:38:40 +02:00
Patrick Niklaus
3af3e06e75
Remove canary to get a consistent interface for getting a block pointer
2018-04-04 12:38:40 +02:00
Patrick Niklaus
5a68f4c214
Refactor setting up vector_view
2018-04-04 12:38:40 +02:00
Patrick Niklaus
f558b16147
First step for better vector encapsulation
2018-04-04 12:38:40 +02:00
Patrick Niklaus
81a4747acb
Fix formating
2018-04-04 12:38:40 +02:00
Patrick Niklaus
9fc2c32408
Fix errors when loading an incompatible dataset.
2018-04-04 12:38:40 +02:00
Patrick Niklaus
24e0028afb
Remove CheckCompability because it now duplicates logic in the datafacade
2018-04-04 12:38:40 +02:00
Patrick Niklaus
c334d11e95
Refactor metric storage
2018-04-04 12:38:40 +02:00
Patrick Niklaus
aec9b6a178
Fixed reading DataLayout from shared memory
2018-04-04 12:38:40 +02:00
Patrick Niklaus
5395290fd5
Add directory listing
2018-04-04 12:38:40 +02:00
Patrick Niklaus
b3ef2a0383
More refactor
2018-04-04 12:38:40 +02:00
Patrick Niklaus
4a9fdca7b2
Remove fixed block identifiers
2018-04-04 12:38:40 +02:00
Daniel Patterson
649d4ee512
Add support for the 'straight' maneuver direction ( #4995 )
...
Add support for the 'straight' maneuver direction
2018-04-03 17:20:18 -07:00
Duane Gearhart
8a63ad9b4b
Added post process logic to collapse segregated turn instructions ( #4925 )
...
* Added post process logic to collapse segregated turn instructions
* format updates
* Fixed coordinates to reflect reality
Updated left turn road name
* fixed coordinates to fix test
* Skip last step when processing segregated steps
* updated segregated turn test
* Updated segregated test
* Updated test: Segregated Intersection, Cross Belonging to Correct Street - features/guidance/collapse.feature:79
* Fixed all but one for features/guidance/collapse.feature:124
* Fixed Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219
* Fixed 7 of th 9 failures for Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219
* Fixed 7 of the 9 failures for Scenario: Segregated Intersection, Cross Belonging to Mixed Streets - Slight Angles (2) - features/guidance/collapse.feature:318
* Fixed Scenario: Segregated Intersection into Slight Turn - features/guidance/collapse.feature:581
* Updated Scenario: U-turn after a traffic light - features/guidance/turn-lanes.feature:1220
* Updated how we combine segregated steps
* Added test to Verify end of road left turn across divided roads
* Fixed divided highwat tests
* Fixed test failure
* fixed Scenario: Partitioned turn, Slight Curve - maxspeed - features/guidance/turn-lanes.feature:936
* Fixed Scenario: Partitioned turn, Slight Curve - features/guidance/turn-lanes.feature:961
* Added strategies to combine segrgated intersections
* Added setModifier alias for readability
* Added strategies to combine segrgated intersections
* Format updates
* Fixes segregated indentification to not mark `circular` edge as segregated
* Added intersection prior to turn so we still call out end of road
* updated expectation to be turn instead of continue
* Confirmed with @oxidase that the lane information if correct - updated the expectation
* Added logic to handle wider straights
Fixed tests
* Update CHANGELOG.md
Added #4925
* Removed TODO
* Process straight step prior to wider straight step
2018-03-30 07:43:56 -04:00
Patrick Niklaus
3ee8a963cb
Fix formating again
2018-03-26 12:13:07 +00:00
Patrick Niklaus
c322d93435
Make the block size of vector<bool> consistent
2018-03-26 12:12:41 +00:00
Patrick Niklaus
c0dd5d7c76
Fix formating
2018-03-26 11:02:34 +00:00
Patrick Niklaus
f2bace6c1f
Wrap lambda in std::function because of boost version issues
2018-03-26 11:02:33 +00:00
Patrick Niklaus
921235b2dc
Use pair instead of tuple for implicit construction
2018-03-26 11:02:33 +00:00
Patrick Niklaus
bde51a9ef5
Add tar file mmaping
2018-03-26 11:02:33 +00:00
Patrick Niklaus
a52213c885
Get offset of data inside tar file
2018-03-26 11:02:33 +00:00
Patrick Niklaus
c410c200bd
Port .cnbg file to tar format
2018-03-26 11:02:33 +00:00
Patrick Niklaus
8152dcfb4c
Port .ramIndex to tar file and mmap .fileIndex directly
2018-03-26 11:02:33 +00:00
Patrick Niklaus
bed53f5fd5
Remove timestamp file
2018-03-26 11:02:31 +00:00
Patrick Niklaus
2b010fc6f3
Port .enw file to tar format
2018-03-26 11:02:04 +00:00
Patrick Niklaus
b8260e44fa
Port .names file to tar
2018-03-26 11:02:04 +00:00
Patrick Niklaus
a594008e57
Port .edges file to tar
2018-03-26 11:02:04 +00:00
Patrick Niklaus
f407afa694
Move .osrm file to tar format
2018-03-26 11:02:04 +00:00
Patrick Niklaus
06f28ffd34
Add BufferWriter/BufferReader and simplify interface for ConditionalRestrictions
2018-03-26 11:02:04 +00:00
Patrick Niklaus
990e411361
Port turn duration penalties to tar
2018-03-26 11:02:04 +00:00
Patrick Niklaus
73b3d37837
Port maneuver overrides to tar
2018-03-26 11:02:04 +00:00
Patrick Niklaus
5d7d5fceba
Port .tld and .tls data
2018-03-26 11:02:04 +00:00
Patrick Niklaus
b1dfbce675
Port .ebg_nodes to tar file
2018-03-26 11:02:04 +00:00
Patrick Niklaus
da5aebaef3
Port .geometry file to tar format
2018-03-26 11:02:04 +00:00
Patrick Niklaus
bced9a5a6d
Port .datasource_names to tar format
2018-03-26 11:02:04 +00:00
Patrick Niklaus
6ea296fb5c
Port .nbg_nodes file to tar
2018-03-26 11:02:04 +00:00
Patrick Niklaus
cf5f6be472
Swtich EBG to tar file
2018-03-26 11:02:04 +00:00
Patrick Niklaus
c61198b26b
Port over profile properties
2018-03-26 11:02:04 +00:00
Patrick Niklaus
5d1b4ce71d
Port .osrm.icd file over to tar
2018-03-26 11:02:03 +00:00
Patrick Niklaus
cb31f9ec29
Port hsgr file to tar
2018-03-26 11:02:03 +00:00
Patrick Niklaus
fed77c4066
Port cell metrics to tar files
2018-03-26 11:02:03 +00:00
Patrick Niklaus
15b53de056
Switch over partition/ files to tar format
2018-03-26 11:02:03 +00:00
Patrick Niklaus
6d96a9a2e3
Serialize mldgr using the new tar writer
2018-03-26 11:02:03 +00:00
Duane Gearhart
535bb49893
Fixed segregated identification code to not mark circular
edges as segregated
2018-03-21 18:02:26 +01:00
Michael Krasnyk
8b52c6c7ac
Update tests expectations and obvious detection
2018-03-20 16:33:15 +01:00
Michael Krasnyk
d166fc6a75
Restructure Obvious Turn Handling, code transfer from #4426
2018-03-20 16:33:15 +01:00
Patrick Niklaus
b80764b6b8
Refactor shared memory layout to expose Block as interface
2018-03-14 17:05:55 +01:00
Frédéric Rodrigo
14082d0e00
Fix typo 'Maximum number of classes if'
2018-03-14 03:16:13 +01:00
Michael Krasnyk
b7af6eb2a4
Remove correctly the last segment in annotation
2018-03-09 15:59:21 +01:00
Michael Krasnyk
0fc8b6289c
Merge IntersectionShapeData and IntersectionEdgeGeometry
2018-03-05 13:19:57 +01:00
Michael Krasnyk
4d0fb89489
Adjust Straight direction modifiers of side roads in driveway handler
2018-03-05 13:19:57 +01:00
Michael Krasnyk
6f4af330ed
Handle oneways in get_forward_backward_by_key
2018-03-05 13:19:57 +01:00
Michael Krasnyk
7c8c25f7bc
Don't use obviousness for links bifurcations
2018-03-05 13:19:57 +01:00
Lev Dragunov
ac23e3b223
clang-format
2018-03-01 11:32:18 +01:00
Lev Dragunov
7922a6172a
Bearing calculation on matching short segments fix.
2018-03-01 11:32:18 +01:00
Michael Krasnyk
c048a36a4c
Use smaller range for U-turn angles in map-matching
2018-02-28 15:21:47 +01:00
Duane Gearhart
33021d37a1
Updated segregated intersection identification ( #4845 )
...
* Initial internal intersection updates
paired with @oxidase and @kdiluca
TODO fix tests and add in new ones
* Added Internal Intersection Model
* removed debug info
* updates per PR 4845
* fixing build errors
* fixing all compile errors
* fixed EdgeID param
* Added is_internal_straight lambda
Added/Updated constexpr names and values
* added rejection case turn degree logic
* debug logging
* added turn angle logic to reject if there are incoming edges that have opposite turn degrees than outgoing edges or if the outgoing edges have opposing turn degrees; also merged with master v5.16
* fixed formatting
* fix to decrease tile size based on latest turn angle internal intersection updates
* Removed breaks
Breaks in code were a mistake and caused a change in the internal intersection identification.
* Update segregated_intersection_classification.cpp
* Update CHANGELOG.md
Added CHANGED #4845 : Updated segregated intersection identification to Unreleased
2018-02-27 15:11:23 -05:00
Patrick Niklaus
31d6d74f90
Update documentation and changelog
2018-02-26 23:32:34 +01:00
Patrick Niklaus
bec57258a4
Add mmap allocator
2018-02-26 23:32:34 +01:00
Michael Krasnyk
83588fd00f
Renumber node IDs in .osrm.maneuver_overrides
2018-02-22 11:42:33 +01:00
Michael Krasnyk
5acf660f37
Check required tags of maneuver
relations
2018-02-21 14:49:15 +01:00
Michael Krasnyk
de13834c12
Handle motorway forks with links as a normal motorway ...
...
passing some ramps or mering onto another motorway
2018-02-21 14:19:53 +01:00
Michael Krasnyk
1cafafc4cd
Don't use obvious directions at ramp bifurcations, #4895
2018-02-20 09:02:24 +01:00
Michael Krasnyk
519eae63c6
Use links with lower priority in the motorway handler
...
Ref:
https://wiki.openstreetmap.org/wiki/Highway_link
https://wiki.openstreetmap.org/wiki/Link_roads_between_different_highways_types
2018-02-13 11:20:27 +01:00
Michael Krasnyk
5f598da76d
Add OSM node barrier=height_restrictor handling
2018-02-12 11:40:35 +01:00
Patrick Niklaus
e82b51d0cb
Fix default value for matching radius in routed
2018-02-09 21:12:14 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations ( #4676 )
2018-02-10 05:32:09 +11:00
Patrick Niklaus
26e5c4eae2
Fix formating
2018-02-09 17:51:58 +01:00
Patrick Niklaus
6c2d26f9bd
Make LUA_SOURCE a global for gcc 4.9
2018-02-09 17:51:58 +01:00
Patrick Niklaus
84845ffaa6
Replace optional<EdgeWeight> with constant value
2018-02-09 17:51:58 +01:00
Patrick Niklaus
3d6b667997
No unused warning for alias benchmark
2018-02-09 17:51:58 +01:00
Patrick Niklaus
97d027a173
Fix unused lambda capture warnings
2018-02-09 17:51:58 +01:00
Patrick Niklaus
371dc57dfc
Fix uninitialized warning because of boost::optional
2018-02-09 17:51:58 +01:00
Patrick Niklaus
a06d1782c0
Fix multi-line warning
2018-02-09 17:51:58 +01:00
Huyen Chau Nguyen
fa8d788bb6
Add road priority class to turn function ( #4858 )
...
* expose road priority class to turn function
* update docs
2018-02-07 11:39:02 +01:00
Patrick Niklaus
92b7d581ce
Removed unused geojson logging in partitioner
2018-02-06 11:51:33 +01:00
Patrick Niklaus
b4cfc8d6e0
Fix formating
2018-02-06 11:51:33 +01:00
Patrick Niklaus
71cfb03738
Remove broken check-conditionals tool
2018-02-06 11:51:33 +01:00
Patrick Niklaus
e7bb612050
Move debug printer code to own header
2018-02-06 11:51:33 +01:00
Patrick Niklaus
83d7a57b73
Remove OSM link debug printing from public class
2018-02-06 11:51:33 +01:00
Patrick Niklaus
bb71d9b28a
Remove unused code in partitioner
2018-02-06 11:51:33 +01:00
Michael Krasnyk
9e93f198ae
Add CRC checksums to EBG and turns data
2018-02-02 11:33:38 -05:00
Michael Krasnyk
10de243556
Move guidance turn generation out of EBGF
2018-02-02 11:33:38 -05:00
Michael Krasnyk
988b6e3311
Split intersection analysis and guidance code
...
Intersection analysis occupy in osrm::extractor::intersection namespace
and guidance code osrm::guidance
2018-02-02 11:33:38 -05:00
Michael Krasnyk
36877e4de5
Move guidance pre-processing code into GUIDANCE library
2018-02-02 11:33:38 -05:00