Kajari Ghosh
01ca32c81c
Fix fallback speed validity checks ( #5300 )
...
* fix fallback_speeds check to only accept values > 0
* add invalid_fallback_speed
2018-12-10 14:53:30 -05:00
Kajari Ghosh
2e17f3010a
Add a multiplier to the matrix ( #5298 )
...
* add a multiplier to the matrix
* add rounding
* remove scale_factor restrictions
* clamp for overflow error
* update check to match error message
* enforce clamping on < 0 and increase test coverage
* add an invalid scale_factor value to node tests
* increase test coverage
* changelog
2018-12-10 13:41:44 -05:00
Kajari Ghosh
98ea2a0b09
remove destination/sources length <= coordinates length check ( #5289 )
2018-12-04 13:35:26 -05:00
Daniel Patterson
4dde9c7bbe
Include distance from input to snapped for all waypoints, not just on the nearest
service.
2018-11-02 15:30:52 -07:00
Daniel Patterson
364e35af06
Remove estimated_cells value in the response.
2018-11-02 01:08:59 -07:00
Daniel Patterson
985ab58f45
Add feature to fill null table entries with as-the-crow-flies estimates.
2018-11-02 01:07:24 -07:00
Daniel Patterson
a67c4bf84d
Calculating durations is unavoidable due to tie-breaking minimums, but we can avoid accumulating distances if they're not requested.
2018-10-30 15:41:06 -07:00
Daniel Patterson
498259b220
Replace dynamic distance calculation for table plugin with pre-calculated distances on shortcuts, avoiding unpacking cost.
...
Adds approx 10% to total data size. Speeds up large table requests by 2 orders of magnitude.
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-30 15:41:06 -07:00
Daniel Patterson
954121634f
Merge branch 'master' into ghoshkaj_mmaperize
2018-10-29 09:52:50 -07:00
Daniel Patterson
594a45e7e0
Re-use msinttypes bundled with RapidJSON when compiling on Windows. ( #5249 )
2018-10-29 09:51:56 -07:00
Daniel Patterson
b7e7d32361
Expose new --mmap switch
(mmap_memory: true
in NodeJS), and run test suite in this mode, as well as shared memory mode.
2018-10-26 23:54:00 -07:00
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
Daniel Patterson
d80318f8ea
Match serialized bit-packing for vector<bool> to match in-memory layout for vector_view<bool> so that data can be directly mmapped.
2018-10-26 23:53:50 -07: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
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
85515f063a
Render floating point numbers to string using Grisu2 algorithmt instead of stdlib to speed up JSON generation.
2018-09-05 14:20:47 -07:00
Daniel Patterson
69d7825542
Increase allowed shared memory regions to 512 from ~120
2018-09-05 11:48:02 -07:00
Patrick Niklaus
0f78f7b2cc
Fix bug in computation of distance offset for phantom node
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
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
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
8adbfe06ed
Throw an exception if a shared region is not found
2018-04-28 08:59:18 +02:00
Huyen Chau Nguyen
4e68f3a7e1
change haversine computation to cheap ruler in distance tables
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
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
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH ( #4990 )
2018-04-20 18:18:55 -04:00
Michael Krasnyk
b2aeb47630
Remove dummy edges before inplace permutation
2018-04-19 12:18:48 +02: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
Michael Krasnyk
16abee1022
Avoid using signed integers for edge IDs
2018-04-12 10:03:37 +02:00
Michael Krasnyk
17cd1575f6
Use base-256 encoding for files larger 68G
...
Reference:
http://lists.busybox.net/pipermail/busybox/2011-May/075596.html
2018-04-10 21:12:39 +02:00
Patrick Niklaus
473ebfcbf6
Fix debug printing for coordinates
2018-04-10 18:08:18 +02:00
Michael Krasnyk
c4bf450fc6
Restore storage constructors with one arguments
2018-04-09 15:08:00 +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
Patrick Niklaus
600ca06166
Simplify toEdges and make it more robust against accidental memory allocations
2018-04-09 13:03:28 +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
Patrick Niklaus
29d1b34140
Fix formating
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
51fe0dd5a0
Add missing check of a tar writing function
2018-04-05 00:54:50 +02:00
Michael Krasnyk
14d2199cd8
Always create a new kv pair to avoid using shared strings
2018-04-04 12:38:40 +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
39effb8f7e
Fix checking for non-empty string in prefix check
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
81929c984b
Use boost array sink to avoid copying buffer for BufferReader
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
b5a4ffed96
Return datasource names along with datasource annotation ( #4973 )
...
* Add new `datasource_names` annotation that returns the string version of the `datasources` annotation
2018-04-03 15:13:25 -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
4ef331db1f
Use read-only mmap as member in StaticRTree
2018-03-27 10:20:33 +00:00
Michael Krasnyk
e572d6c340
msvc fixes
2018-03-26 21:45:27 -04:00
Patrick Niklaus
0c48f5fe2f
Make sure to return const char* paths for mtar
2018-03-26 13:13:17 +00: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
993f5badf1
Use OSRM runtime error for tar reader as well
2018-03-26 11:02:34 +00:00
Patrick Niklaus
a542da3678
Remove old io::FileWrite serialization code
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
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
8e800c48bc
Add function to stop and continue writing to a tar file
2018-03-26 11:02:33 +00:00
Patrick Niklaus
ee447afd72
Fix DealloctingVector from initializer list constructor
...
It was not setting the number of elements.
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
4f454a3761
Add buffer reader/writer for per-element serialization
2018-03-26 11:02:04 +00:00
Patrick Niklaus
d4300e73f3
Remove line reading interface from FileReader
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
aaf39162a8
Fix vector<bool> serialization for tar files and add unit tests
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
6a09d2aa9b
Remove file size checks from compability logic
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
Patrick Niklaus
653f647fee
Use static alignment for DataLayout
2018-03-26 11:02:03 +00:00
Patrick Niklaus
f7b7335d75
Write/read tar for mldgr
2018-03-26 11:02:03 +00:00
Patrick Niklaus
495131efd7
Add vector serialization
2018-03-26 11:02:03 +00:00
Patrick Niklaus
2eb633bc41
Add unit tests for tar reading
2018-03-26 11:02:03 +00:00
Patrick Niklaus
86bfe1ede1
First step towards reading/writing tar
2018-03-26 11:02:03 +00:00
Michael Krasnyk
b56a7579a8
Review updates
2018-03-20 16:33:15 +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
Daniel Patterson
f7775f5e0b
Add source phantom weight to first segment when merging legs ( #4949 )
...
Fix annotation values for annotations on edges where phantom nodes are snapped.
2018-03-13 11:31:29 -07:00
Daniel Patterson
a4ee2ccb13
Avoid copying json::Value objects a lot when reallocating vector
2018-03-08 16:01:16 +01:00
Michael Krasnyk
0fc8b6289c
Merge IntersectionShapeData and IntersectionEdgeGeometry
2018-03-05 13:19:57 +01:00
Michael Krasnyk
0f93a7dd05
Cleanup EBGF code
2018-03-05 13:19:57 +01:00
Michael Krasnyk
cf56b5ddbf
Increase precision of coordinates in OSM links
2018-03-05 13:19:57 +01:00
Michael Krasnyk
c048a36a4c
Use smaller range for U-turn angles in map-matching
2018-02-28 15:21:47 +01:00
Patrick Niklaus
bec57258a4
Add mmap allocator
2018-02-26 23:32:34 +01:00
Karen Shea
43f0723b73
Remove deduplication of unpacked_path_segments in MM collapsing ( #4911 )
...
* remove deduplication of unpacked_path_segments
2018-02-24 12:42:11 +11:00
Michael Krasnyk
83588fd00f
Renumber node IDs in .osrm.maneuver_overrides
2018-02-22 11:42:33 +01:00
Mateusz Loskot
ae41066fbe
Prefer logical punctuators instead of named operator keywords
...
Some compilers (eg. MSVC) still require inclusion of <ciso646>
in order to import named operator keywords.
It is easier to stick with traditional punctuators.
2018-02-14 13:26:41 +01:00
Fred-Byrd
342da81591
web_mercator to double
2018-02-13 12:54:52 +01:00
Fred-Byrd
df9195b939
coordinate_calculation doubles
2018-02-13 12:54:52 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations ( #4676 )
2018-02-10 05:32:09 +11:00
Patrick Niklaus
b96d36f482
Try initializing all of ProfileProperties 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
97d027a173
Fix unused lambda capture warnings
2018-02-09 17:51:58 +01:00
Patrick Niklaus
03cffd0f56
Ignore unused-variable warnings cause by V8 header
...
This can be removed after https://github.com/cjntaylor/node-cmake/pull/37
is merged and released.
2018-02-09 17:51:58 +01:00
Karen Shea
05f6b55036
Expose waypoints parameter in match interface ( #4859 )
...
* expose waypoints parameter in match interface
* Sync target_traversed_in_reverse with target_phantom
2018-02-07 17:33:54 -05: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
b4cfc8d6e0
Fix formating
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
cac310123b
Remove debug printing code from Rectangle
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
Michael Krasnyk
1cbfbd34cf
Remove unnecessary loading of turns data in updater
2018-02-02 11:33:38 -05:00
Mateusz Loskot
c6d12e064c
Add basic facades for Customizer and Partitioner run methods
2018-02-02 15:52:30 +01:00
Mateusz Loskot
8114104a43
Rename namespace partition to partitioner
...
Rename module partition to partitioner.
This cultivates naming used in existing modules like extractor,
customizer, etc. - noun vs verb (word partition is both though).
2018-02-02 11:07:18 +01:00
Michael Krasnyk
1119a542d6
Announce reference change if names are empty, #4830
2018-01-29 16:32:59 -05:00
Karen Shea
c154875272
Only run step collapsing based on original waypoints parameter ( #4829 )
2018-01-29 12:35:55 -08:00
Michael Krasnyk
77f8a4f741
Set type of trivial intersections where classes change to Suppressed
...
... instead of NoTurn
2018-01-25 11:43:44 -05:00
Huyen Chau Nguyen
61e06fcaba
Making the turn function more flexible ( #4789 )
...
* set and store highway and access classification for the turn function
* expose highway turn classification and access turn classification and speed to the lua profile turn function
* expose whether connection road at turn is incoming or outgoing
* add lua tests for exposed information to turn function
* update docs about attributes in process_turn
* add turn_classification info to docs
* adding warning if uturn and intersection dont match
* handle u turns that do not turn into intersection[0]
* split OSM link generation in an accessible coordinate function
2018-01-24 15:39:55 -05:00
Kajari Ghosh
155772f01f
Refactor isThroughStreet
/Intersection options ( #4751 )
...
* refactor isThroughStreet
* refactor HaveIdenticalName
* fix a typo in the unit tests
2018-01-19 13:49:00 -05:00
Michael Krasnyk
a7f1cd36fb
Fix formatting
2018-01-19 13:55:05 +01:00
Michael Krasnyk
26f0b4dc77
Add assertion and adjust unit test expectations check
2018-01-19 13:55:05 +01:00
karenzshea
181eff29c7
add unit test for split submatch waypoints indices
2018-01-19 13:55:05 +01:00
karenzshea
cdad265d49
only adjust waypoint index in tracepoints when waypoints parameter is specified
2018-01-19 13:55:05 +01:00
Patrick Niklaus
6eb4247484
Fix overflow on zero duration segments, fixes #4283 .
...
As a form of smoothing we use the previous speed value instead.
This makes sense because the zero duration segments have to be very
short, potentially also zero length.
2018-01-18 17:29:23 +01:00
Patrick Niklaus
168e313f73
Correctly mark edges going to/from core with exclude flags
2018-01-11 12:46:49 +00:00
Huyen Chau Nguyen
e998c1193d
Update docs for process_turn in the profile docs ( #4786 )
...
* update correct attributes available in process turn
* make travel mode in ExtractedTurn const
* fix mismatch of struct and class
2018-01-10 11:31:24 +01:00
karenzshea
55cc06fd8b
Add waypoints parameter to matching service, returns map matching result
...
with selective input coordinates as waypoints
2018-01-08 12:28:20 +01:00
Michael Krasnyk
330f25eddb
Reduce extraction distance to 120 meters
...
For intersection at https://www.openstreetmap.org/node/65299217
`are_parallel` in MergableRoadDetector::HaveSameDirection is false
for South Van Ness Avenue with 150 meters
2018-01-05 17:35:11 +01:00
Michael Krasnyk
08b88bad63
Still use low precision bearings
2018-01-05 17:35:11 +01:00
Michael Krasnyk
153f9b02a5
Add low precision intersection views back
2018-01-05 17:35:11 +01:00
Michael Krasnyk
0568dca4a3
Adjust to review findings
2018-01-05 17:35:11 +01:00
Michael Krasnyk
4b9e3a8068
Remove IntersectionGenerator
2018-01-05 17:35:11 +01:00
Michael Krasnyk
db7c76d04d
Remove GetConnectedRoads from IntersectionGenerator
2018-01-05 17:35:11 +01:00
Michael Krasnyk
cc1a5ea78d
Remove usage of IntersectionGenerator in EBGF
2018-01-05 17:35:11 +01:00
Michael Krasnyk
9c033ff461
Free functions for guidance intersections analysis
2018-01-05 17:35:11 +01:00
Michael Krasnyk
e805f85407
Print statistics only for allowed turns
2018-01-05 17:35:11 +01:00
Mateusz Loskot
da4fb13aa3
Tidy up #include-s for Intel TBB headers
...
Remove unused and add missing headers.
2018-01-05 11:00:31 +01:00
Michael Krasnyk
742c32d936
Don't use to_string conversion in requiresNameAnnounced
2017-12-26 16:18:27 +01:00
Patrick Niklaus
6dd029e6ea
Restore original intend of roundabout test
...
When doing the new Lua version refactor we changed the expectation to
use `continue uturn` instead of making a whole circle in the roundabout
as the original test case. This was only the shortest path since there
was no roundabout penalty.
2017-12-26 13:28:12 +00:00
Patrick Niklaus
e45d44cb8e
Make sure we only count turns as UTurns for the turn_function
2017-12-26 13:28:12 +00:00
Kajari Ghosh
84b6ef4340
add osrm-routed and node-osrm flags to configure mapmatching radius limit ( #4721 )
2017-12-20 16:53:43 +05:30
Patrick Niklaus
ccfbce5300
Remove superflous sentinel in DynamicGraph, fixes #4738
2017-12-18 10:23:29 +00:00
karenzshea
9a8ed30e95
add assert for untested sliproad cases, removed redundant empty_nameid checks
2017-12-11 15:37:56 +00:00
karenzshea
89080fb2b0
check for empty name_id before getting data
2017-12-11 15:37:56 +00:00
karenzshea
56459d37d1
access way names through RouteStep in post processing
2017-12-11 15:37:56 +00:00
karenzshea
3f7b5da683
check empty name string in turn collapsing
2017-12-11 15:37:56 +00:00
Patrick Niklaus
2e97c78181
Remove code for checking the .core file, since we do not create it anymore
2017-12-08 11:28:34 +00:00
Patrick Niklaus
994fae0ef6
Fix formating
2017-12-05 19:09:06 +00:00
Patrick Niklaus
88ee51ba2e
const-correctness
2017-12-05 19:09:06 +00:00
Patrick Niklaus
25ee26de3b
Refactor segregated intersection classification to right module
2017-12-05 19:09:06 +00:00
Daniel Patterson
c1efefae27
Use the correct driving_side property on the arrive step. ( #4708 )
...
Use the correct driving_side property on the arrive step.
2017-11-27 13:16:33 -08:00
karenzshea
834890cf0b
construct extract/contract configs to disable conditional restriction parsing by default
2017-11-20 16:55:17 +00:00
vng
a53794f864
Code review fixes.
2017-11-16 15:08:30 +01:00
vng
111030864c
Use segregated flag as a bit in EdgeBasedNode.
2017-11-16 15:08:30 +01:00
vng
90e361c3dc
Use immutable node-based-graph for segregated edges.
2017-11-16 15:08:30 +01:00
vng
32e6ccb037
Code review fixes.
2017-11-16 15:08:30 +01:00
vng
92c4a228e1
Revert suppressSegregated routing.
2017-11-16 15:08:30 +01:00
vng
76f793533a
Use copressed node-based graph for segregated edges check.
2017-11-16 15:08:30 +01:00
vng
ec7e58e10e
Pass edge-based node segregated flag to the post processing routine.
2017-11-16 15:08:30 +01:00
vng
ac5e095d17
Store and pass segregated flag to the data facade.
2017-11-16 15:08:30 +01:00
vng
ee7912f882
Calculating segregated node-based edges.
2017-11-16 15:08:30 +01:00
Denis Koronchik
f460a9f17e
Add code to draw segregated nodes in a tile layer
2017-11-16 15:08:30 +01:00
Daniel Patterson
5b58445535
Expose driving_side as a property on RouteStep
2017-11-09 10:08:11 -05:00
Daniel J. Hofmann
3a1bf2c85d
Slightly decreases roundabout turn radius from 25m to 15m
2017-11-07 13:45:57 -05:00
Daniel J. Hofmann
9b83649a03
Fixes AppVeyor tests
2017-11-06 14:38:21 -05:00
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
Patrick Niklaus
0b6eb85106
Fix formating
2017-11-01 14:25:07 +00:00
Moritz Kobitzsch
e197dae54d
do not consider empty-names + empty-refs a valid name for u-turns
2017-11-01 14:25:07 +00:00
Denis Koronchik
0fc6903d7e
Fix issue #4585
2017-10-25 14:11:33 +02:00
Moritz Kobitzsch
23fd27422b
normalise angles only if an improvement
2017-10-25 10:17:14 +02:00
Patrick Niklaus
c2a605a70d
Contract the exclude-flag sub-graphs as well
2017-10-24 09:46:44 +02:00
Moritz Kobitzsch
704cf314d4
explicitly check for 90 degree turns / turning onto segregated roads
2017-10-23 09:06:59 +02:00
David Audrain
963c042b2a
Run scripts/format.sh
2017-10-19 15:26:37 +01:00
David Audrain
1be7dedda7
Set missing OSM Node ID to zero instead of SPECIAL NODE ID
2017-10-19 15:26:37 +01:00
David Audrain
493a9a1cb2
Add 'to' and 'from' OSM Node Ids in the result of nearest webservice. #2548
2017-10-19 15:26:37 +01:00
Denis Koronchik
895f072425
Work on forward/backward ref's support
2017-10-19 15:18:25 +01:00
Moritz Kobitzsch
37774a331a
fix collapsing into uturns, that aren't u-turns
2017-10-17 15:08:29 +01:00
Denis Koronchik
553310fb31
Fix gcc5 compilation error
2017-10-17 14:51:39 +01:00
Patrick Niklaus
404c275101
Add a specilization for contraction without exclude flags
...
This saves about 10% overhead and avoids contraction changes
to previous releases.
2017-10-17 12:09:00 +01:00
Michael Krasnyk
088d4edc6b
Prevent merging of circular-shaped roads
2017-10-17 11:27:09 +02:00
Patrick Niklaus
456b198702
Remove unused number of threads option again
2017-10-16 23:08:32 +02:00
Patrick Niklaus
90b3be8d10
Fix formating
2017-10-16 13:40:02 +01:00
Patrick Niklaus
ba2a2ff5e8
Remove RemoveIterator because its dangerous
2017-10-16 13:40:02 +01:00
Patrick Niklaus
9b87b8b7b1
Replace deallocation vector with std::vector and different merge algorithm
2017-10-16 13:40:02 +01:00
Patrick Niklaus
69db219423
Remove unused definition in contractor
2017-10-16 13:40:02 +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
karenzshea
e385f6352e
restore libosrm interface for corech, fallback to ch
2017-10-13 14:53:49 +01:00
karenzshea
4f3414c4cc
remove core factor opt from exclude graph
2017-10-13 14:53:49 +01:00
karenzshea
df79b5b4cc
deprecation notices
2017-10-13 14:53:49 +01:00
karenzshea
2a13f9d10b
fallback to CH, when coreCH used
2017-10-13 14:53:49 +01:00
Denis Koronchik
031ce72db1
Fix issue #4214
2017-10-12 18:00:38 +01:00
Michael Krasnyk
40d9aec71f
Show MLD cell IDs via node ID text background color
2017-10-12 14:27:55 +01:00
Michael Krasnyk
8300a6c57e
Prepare phantom nodes indices in ManyToManySearch search
2017-10-11 16:28:16 +01:00
Michael Krasnyk
29d4bca9ba
Split algorithm-specific manyToMany implementations
2017-10-11 16:28:16 +01:00
Moritz Kobitzsch
fd52c80573
remove workaround, reduce memory consumption in lcs computation
2017-10-11 14:07:35 +02:00
Moritz Kobitzsch
884ce4025b
fix detection of suffix/prefix changes for name-changes
2017-10-11 14:07:35 +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
karenzshea
7923fdcaef
error when mld files or data are missing, compability -> compatibility
2017-10-09 16:36:38 +02:00
Michael Krasnyk
fbb2970044
Merge unused 3 bits of PhantomNode into bearing
...
to prevent memcheck reports
==23434== Use of uninitialised value of size 8
==23434== at 0x15CAFB5: boost::archive::iterators::detail::from_6_bit<char>::operator()(char) const (base64_from_binary.hpp:50)
==23434== by 0x15CB6BE: boost::iterators::transform_iterator<boost::archive::iterators::detail::from_6_bit<char>, boost::archive::iterators::transform_width<char const*, 6, 8, char>, boost::iterators::use_default, boost::iterators::use_default>::dereference() const (transform_iterator.hpp:126)
==23434== by 0x15CB6CE: boost::iterators::transform_iterator<boost::archive::iterators::detail::from_6_bit<char>, boost::archive::iterators::transform_width<char const*, 6, 8, char>, boost::iterators::use_default, boost::iterators::use_default>::reference boost::iterators::iterator_core_access::dereference<boost::iterators::transform_iterator<boost::archive::iterators::detail::from_6_bit<char>, boost::archive::iterators::transform_width<char const*, 6, 8, char>, boost::iterators::use_default, boost::iterators::use_default> >(boost::iterators::transform_iterator<boost::archive::iterators::detail::from_6_bit<char>, boost::archive::iterators::transform_width<char const*, 6, 8, char>, boost::iterators::use_default, boost::iterators::use_default> const&) (iterator_facade.hpp:550)
==23434== by 0x15CB6E2: boost::iterators::detail::iterator_facade_base<boost::iterators::transform_iterator<boost::archive::iterators::detail::from_6_bit<char>, boost::archive::iterators::transform_width<char const*, 6, 8, char>, boost::iterators::use_default, boost::iterators::use_default>, char, boost::iterators::single_pass_traversal_tag, char, long, false, false>::operator*() const (iterator_facade.hpp:656)
==23434== by 0x15CB7F4: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char> >(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, std::input_iterator_tag) (basic_string.tcc:190)
==23434== by 0x15CB89F: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char> >(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, std::__false_type) (basic_string.h:196)
==23434== by 0x15CB91B: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char> >(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>) (basic_string.h:215)
==23434== by 0x15CB9AA: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, void>(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, std::allocator<char> const&) (basic_string.h:552)
==23434== by 0x15CBB0F: osrm::engine::encodeBase64[abi:cxx11](unsigned char const*, unsigned long) (base64.hpp:65)
==23434== by 0x15CBC01: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > osrm::engine::encodeBase64Bytewise<osrm::engine::Hint>(osrm::engine::Hint const&) (base64.hpp:94)
==23434== by 0x15CBC45: osrm::engine::Hint::ToBase64[abi:cxx11]() const (hint.cpp:30)
==23434== by 0x16596DC: osrm::engine::api::json::makeWaypoint(osrm::util::Coordinate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osrm::engine::Hint const&) (json_factory.cpp:359)
2017-10-09 15:31:59 +01: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