Commit Graph

8644 Commits

Author SHA1 Message Date
Dennis Luxen 85e6a854aa Fix missing includes (on Windows) 2022-10-30 22:08:29 +01:00
Dennis Luxen 12f49d6f24 Stray whitespace 2022-10-30 20:11:36 +01:00
Dennis Luxen 7149547645 Fix formatting 2022-10-30 20:10:09 +01:00
Dennis Luxen 565959b389 Remove util/string_view header 2022-10-30 20:01:46 +01:00
Dennis Luxen 5c9d0d152c Remove usage of StringView typedef 2022-10-30 19:53:26 +01:00
Dennis Luxen 274dcc58a5 Remove superflous std::hash specialization 2022-10-30 19:21:06 +01:00
Dennis Luxen d06b23d819 More fixes 2022-10-30 14:08:17 +01:00
Dennis Luxen 91e9623b31 Fix formatting 2022-10-30 14:06:19 +01:00
Dennis Luxen 0021ccef59 Replace boost::string_ref with std::string_view 2022-10-30 13:59:59 +01:00
Dennis Luxen 061f0a1f14 Fix includes 2022-10-30 11:43:28 +01:00
Dennis Luxen 60e283312c Fix typo historgram -> histogram (#6427) 2022-10-30 08:34:00 +01:00
Dennis Luxen f97e18d285 Fix formatting 2022-10-29 23:01:38 +02:00
Dennis Luxen 7b73b977ff Replace boost::unordered_{map/set} with std, also remove code duplication 2022-10-29 22:57:14 +02:00
Michael Bell 5d468f2897 Make edge metrics strongly typed (#6421)
This change takes the existing typedefs for weight, duration and
distance, and makes them proper types, using the existing Alias
functionality.

Primarily this is to prevent bugs where the metrics are switched,
but it also adds additional documentation. For example, it now
makes it clear (despite the naming of variables) that most of the
trip algorithm is running on the duration metric.

I've not made any changes to the casts performed between metrics
and numeric types, they now just more explicit.
2022-10-28 15:16:12 +01:00
Siarhei Fedartsou 16685d0de9 Add link to Discord server (#6422) 2022-10-26 11:22:28 +02:00
Siarhei Fedartsou 82897791d1 Update actions/cache to v3 (#6420) 2022-10-24 00:52:15 +02:00
Michael Bell 9ad432c5b2 Fix adding traffic signal penalties during compression (#6419)
Weight and duration penalties are flipped in the lambda function
that applies penalties from traffic signals.

Duration is in deciseconds, whilst weight is multipled by
10^weight_precision, with weight_precision being 1 by default.

Therefore, for default routability profile, the penalties end up
being the same, hence why no tests picked this up.

If distance weight is used however, it will incorrectly apply an
additional penalty to the weight, and not add the traffic signal
delay to the duration in the routing graph.

To confuse things further, in some API responses the values are
correct because they use geometry data instead, but it's still
possible that a sub-optimal route was selected.

However, given the distance weight is in meters, and the additional
penalty per traffic light would be 20, it's unlikely this would
have changed the routing results.

In any case, we correct the function to apply the arguments correctly.
2022-10-23 14:59:12 +01:00
Siarhei Fedartsou c1d2c15995 Handle snapping parameter for all plugins in NodeJs bindings, but not for Route only (#6417) 2022-10-22 16:49:35 +02:00
Siarhei Fedartsou fb1bb7a15b Fix annotations=true handling in NodeJS bindings & libosrm (#6415) 2022-10-19 08:35:18 +02:00
Siarhei Fedartsou d65e8c7d1e Fix bindings compilation on latest Node (#6416) 2022-10-18 21:59:39 +02:00
Michael Bell 5e5f1f4add 5.27.1 release (#6409)
* Bookkeeping for 5.27.1 release

* Reset for next release
2022-10-14 23:04:41 +01:00
Siarhei Fedartsou 9d160a9b5d Revert back to using custom HTTP parser instead of Boost.Beast (#6407) 2022-10-14 14:37:33 +02:00
Siarhei Fedartsou d143de597d Fix bug with large HTTP requests leading to Bad Request in osrm-routed. (#6403) 2022-10-13 16:53:49 +02:00
Siarhei Fedartsou 4026ed54c0 Add support for surface=metal,grass_paver,woodchips in bicyle profile (#6395) 2022-10-11 11:09:56 +02:00
Daniel J. H 895e4bf6d5 Adds cucumber scenario for u turn restrictions at intersection (#4484) 2022-10-10 22:27:27 +02:00
Michael Bell cb90d587be Release 5.27 (#6392)
* Bookkeeping for 5.27.0 release.

* Prep rc.1

* Final 5.27 release tag

* Reset for next release
2022-10-10 17:54:01 +01:00
Michael Bell 284e110f2e Actually match the tag naming conventions (#6393)
Wasn't matching on release candidates, nor any of the previous special tags convention.
2022-10-06 22:08:36 +01:00
Michael Bell ac1edc7675 Prepare scoped Node package (#6386)
In case we're not able to get access to the unscoped credentials.
Scoped packages are also the recommended approach for projects
managed by a team of developers.
2022-10-06 21:05:51 +01:00
Siarhei Fedartsou 7be9039f53 Get rid of Mason (#6387) 2022-10-06 14:13:12 +02:00
Siarhei Fedartsou 52b516e943 Use clang-format from CI base image (#6391) 2022-10-06 12:50:31 +02:00
Nils f3c03307cb Add conanbuildinfo.json (#6388) 2022-10-04 18:08:41 +02:00
Siarhei Fedartsou 9a4b4648f4 Improve performance of JSON rendering (#6380) 2022-10-03 21:43:51 +02:00
Michael Bell 41fd947ebd Update docs to reflect recent build and dependency changes (#6383) 2022-10-02 19:55:59 +01:00
Michael Bell e328031661 Add issue templates for bug reporting, features, and questions. (#6385)
Primarily to educate bug reporters that demo site != default settings,
but also to help organise and auto-assign new issues.
2022-10-02 17:45:35 +01:00
Michael Bell b7daa7e641 Gracefully handle no-turn intersections in guidance processing. (#6382)
Badly constructed OSM intersections can create OSRM intersection
views that have no valid turns.
The guidance code for segregated intersections tries to look
ahead to the second intersection to ensure lanes are  announced
intuitively.
Currently, OSRM assumes there are always turns at the second
intersection that we should consider. This commit corrects
this assumption so that it can now handle badly constructed
OSM intersections with no turns.
2022-10-01 14:35:08 +01: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
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