Commit Graph

8481 Commits

Author SHA1 Message Date
Siarhei Fedartsou
6a5b3f448b add test 2022-10-01 20:47:46 +02:00
Siarhei Fedartsou
ae157de5d0 add test 2022-10-01 15:12:29 +02:00
Siarhei Fedartsou
bc6a4d8065 add test 2022-10-01 15:11:20 +02:00
Siarhei Fedartsou
d871e20202 use fmt 2022-10-01 14:45:28 +02:00
Siarhei Fedartsou
d033e3b078 use fmt 2022-10-01 14:44:23 +02:00
Siarhei Fedartsou
ee7499d584 use fmt 2022-10-01 13:47:06 +02:00
Siarhei Fedartsou
a4d1783352 use fmt 2022-10-01 13:46:34 +02:00
Siarhei Fedartsou
258d656055 fix bug 2022-10-01 13:25:12 +02:00
Siarhei Fedartsou
87db4807c3 add comments 2022-09-30 18:11:15 +02:00
Siarhei Fedartsou
889e4ce05d add comments 2022-09-30 17:58:55 +02:00
Siarhei Fedartsou
4f222be7f2 add comments 2022-09-30 17:49:44 +02:00
Siarhei Fedartsou
05c6008995 add comments 2022-09-30 17:28:50 +02:00
Siarhei Fedartsou
ca7e560fd4 fix bug 2022-09-30 17:27:07 +02:00
Siarhei Fedartsou
d2ce6d2720 add comments 2022-09-30 17:05:55 +02:00
Siarhei Fedartsou
666ff1c9e5 use std::string in node bindings 2022-09-30 16:09:20 +02:00
Siarhei Fedartsou
3781068a22 add check 2022-09-30 15:58:47 +02:00
Siarhei Fedartsou
b9957bb711 Get rid of copy 2022-09-30 15:36:19 +02:00
Siarhei Fedartsou
c784ff71bf Optimize strings 2022-09-30 15:33:19 +02:00
Siarhei Fedartsou
4b0ea28654 Merge branch 'master' into sf-json-perf 2022-09-30 15:04:39 +02:00
Siarhei Fedartsou
cb0af6b863 Add string 2022-09-30 15:04:24 +02:00
Siarhei Fedartsou
a9c72e393a Refactor json renderer to share implementation for vector and string 2022-09-30 14:57:57 +02:00
Siarhei Fedartsou
21888334dd
Do not generate intermediate .osrm file in osrm-extract. (#6354) 2022-09-30 14:29:10 +02:00
Siarhei Fedartsou
395cc6e9df
Add timestamps for logs (#6375) 2022-09-30 14:28:52 +02:00
Siarhei Fedartsou
902bfc7806
Refactor CMake code related to compiler warnings, enable some additional warnings (#6355) 2022-09-30 11:42:36 +02:00
Siarhei Fedartsou
3c5d99b4cb
Improve performance of map matching via getPathDistance optimization (#6378) 2022-09-29 22:27:19 +02:00
Siarhei Fedartsou
463663b05e wip 2022-09-28 19:02:27 +02:00
Michael Bell
ef8f3d7508
Ensure u-turn exists in intersection view (#6376)
Due to some rather complex logic that tries to calculate intersection
angles by looking further up the road, it's possible to return
an intersection view that is missing a u-turn - something which
is assumed to exist in later guidance calculations.

We apply a fix here by ensuring the u-turn is always included in
the returned view.
2022-09-27 13:49:12 +01:00
Louis
660cea8fcc
Bicycle surface speeds (#6212) 2022-09-23 17:54:55 +02:00
Siarhei Fedartsou
be353630d5
Fix a couple of warnings found by PVS Studio (#6372) 2022-09-22 23:28:12 +02:00
Siarhei Fedartsou
9b834810d5
Build Node bindings on Windows (#6334)
Extends CI to build NodeJS bindings for Windows.
2022-09-20 20:43:13 +01:00
Siarhei Fedartsou
1c65ea2194
Configure cross-compilation for Apple Silicon (#6360)
Adds support for Apple Silicon binaries for NodeJS bindings.
2022-09-17 13:00:53 +01:00
Siarhei Fedartsou
96f5780f06
Update CI to use clang-tidy 14 (#6353) 2022-08-31 23:39:47 +02:00
Siarhei Fedartsou
c003ac1055
Pin revisions of Conan dependencies (#6351) 2022-08-31 09:59:53 +02:00
Siarhei Fedartsou
9a638f3568
Optimize RestrictionParser performance (#6344) 2022-08-30 21:08:52 +02:00
Siarhei Fedartsou
2cf957148b
Support floats for speed value in traffic updates CSV (#6327) 2022-08-30 15:34:46 +02:00
Michael Bell
b17cbb4c47
Support OSM traffic signal directions (#6153)
Currently OSRM parses traffic signal nodes without consideration
for the direction in which the signal applies. This can lead
to duplicated routing penalties, especially when a forward and backward
signal are in close proximity on a way.

This commit adds support for directed signals to the extraction and
graph creation. Signal penalties are only applied in the direction
specified by the OSM tag.

We add the assignment of traffic directions to the lua scripts,
maintaining backwards compatibility with the existing boolean
traffic states.

As part of the changes to the internal structures used for tracking
traffic signals during extraction, we stop serialising/deserialising
signals to the `.osrm` file. The traffic signals are only used by
`osrm-extract` so whilst this is a data format change, it will not
break any existing user processes.
2022-08-30 10:36:49 +01:00
Siarhei Fedartsou
d8b358e810
Use apt-get to install Clang on CI (#6345) 2022-08-30 10:25:53 +02:00
Siarhei Fedartsou
b4142cf1a2
Add Flatbuffers support to NodeJS bindings (#6338) 2022-08-29 22:01:26 +02:00
Siarhei Fedartsou
06719be2b1
Use Lua 5.4 in Docker image (#6346) 2022-08-29 00:03:03 +02:00
Siarhei Fedartsou
18e5faa113
Remove Appveyor status from README.md (#6347) 2022-08-28 23:59:09 +02:00
Siarhei Fedartsou
a46241e45c
Add Node docs for exclude and skip_waypoints options (#6342) 2022-08-28 21:56:09 +02:00
Michael Bell
bfb74c2dad
Fix snapping target locations to ways used in turn restrictions (#6339)
Currently there is an edge-case in the turn restriction implementation,
such that routes can not be found if the target input location snaps
to a way used in a (multi) via restriction.

With the addition of snapping input locations to multiple ways, we
can now also snap to the "duplicate" edges created for the restriction graph,
thereby fixing the problem.
This is achieved by adding the duplicate restriction edges to the
geospatial search RTree.

This does open up the possibility of multiple paths representing exactly
the same route - one using the original edge as a source, the other
using the duplicate restriction graph edge as source. This is fine,
as both edges are represented by the same geometry, so will generate
the same result.
2022-08-27 15:59:44 +01:00
|so
3d5db4511c
Update http.md (#6150)
Fix the typos and some basic grammar mistakes

Co-authored-by: Siarhei Fedartsou <siarhei.fedartsou@gmail.com>
2022-08-27 15:59:02 +01:00
Michael Bell
d74e7b66bd
Support snapping to multiple ways at an input location (#5953)
This PR improves routing results by adding support for snapping to
multiple ways at input locations.

This means all edges at the snapped location can act as source/target
candidates for routing search, ensuring we always find the best route,
and not the one dependent on the edge selected.
2022-08-27 11:36:20 +01:00
Siarhei Fedartsou
bb18a2b428
Fix TBB in case of Conan + NodeJS build (#6333) 2022-08-26 17:09:52 +02:00
Michael Bell
c204360aa0
Fix HTTP compression precedence (#6331)
There is a bug in the deflate compression. Therefore, we do not want
to select this in the default choice for HTTP response compression.
Instead we revert back to the previous precedence, selecting gzip as
the priority.
2022-08-25 17:49:35 +01:00
Siarhei Fedartsou
df3c553f4f
Remove redundant nullptr check. (#6326) 2022-08-25 00:01:56 +02:00
Siarhei Fedartsou
91895604c9
Migrate to modern TBB version (#6300) 2022-08-24 18:13:49 +02:00
Michael Bell
a98074a051
Improvements to maneuver override processing (#6215)
This change unblocks the osrm-extract debug build, which is
currently failing on a maneuver override assertion.

The processing of maneuver overrides currently has three issues
- It assumes the via node(s) can't be compressed (the failing assertion)
- It can't handle via-paths containing incompressible nodes
- It doesn't interop with turn restriction on the same path

Turn restrictions and maneuver overrides both use the same
from-via-to path representation.
Therefore, we can fix these issues by consolidating their
structures and reusing the path representation for
turn restrictions, which already is robust to the above
issues.

This also simplifies some of the codebase by removing maneuver
override specific path processing.

There are ~100 maneuver overrides in the OSM database, so the
impact on processing and routing will be minimal.
2022-08-24 16:19:24 +01:00
Siarhei Fedartsou
8e74b7af9d
Enable performance-move-const-arg clang-tidy check (#6319) 2022-08-23 19:03:41 +02:00