Commit graph

328 commits

Author SHA1 Message Date
afischerdev
3706c0cb57 update to new beta version 2023-07-16 12:52:47 +02:00
Henrik Fehlauer
d98b1060d4
Explicitly map internal voice hint ids to external JSON API ids
As c9ae7c8 showed, changing internal ids without being aware of the
possible impact might easily lead to break the external API.

While ids could be fixated by adding respective tests, an even more
elegant solution is to make the mapping from internal ids to external
ids explicit, similar how it is already done for other voice hint
formats.

To underline the purpose of the mapping even more, the
respective method is renamed appropriately.

Test Plan:
  - `./gradlew test`
  - Export a complex route in BRouter-Web and check voice hints have not
  been changed.
2023-07-12 08:59:12 +00:00
Henrik Fehlauer
82fecf95f6
Revert voice hint indexing change in JSON API to restore compatibility
a9e8731 made voice hints available from `formatAsGeoJson()`, which is
used both in the GeoJSON HTTP API and in the JSON Java API. To indicate
a specific type of voice hint, it was chosen to include its numeric id
in the output JSON array among other data. The full list of available
ids was defined in `class VoiceHint`, e.g. `static final int C = 1;`.

Consumers of the API now depended on the mapping from id to intended
voice hint not changing, since otherwise incorrect voice hints could be
displayed. Unfortunately that API contract was broken in c9ae7c8, where
instead of assigning unused ids to new commands, the meaning of existing
ids was changed. This broke compatibility: Clients adapted to the change
did not work with the old indexing anymore, and clients not yet adapted
would break with newer BRouter releases, e.g. they would suddenly
display "Off route" for a "right u-turn".

To restore compatibility, the indexing is reverted to its old state.

This will unbreak GeoJSON/JSON API users no yet adapted to BRouter 1.7.0
or 1.7.1, e.g. BRouter-Web as well as unmaintained clients. While API
users which already patched ids would need to undo or special-case their
changes, the impact is believed to be low, as no such users are
currently known and the breakage was released only recently.

The changed meaning of `TU` in output formats (before: `u-turn-left`,
now: `u-turn-180`) has not been reverted for now, since either that
command is mapped to fallback solutions anyway (e.g. Orux, old Locus,
Gpsies), the change has already been implemented in clients (new Locus,
Cruiser) or was only planned to be implemented in the future (OsmAnd).

Fixes #584

Test Plan:
  - `./gradlew test`
  - Run BRouter with an unpatched BRouter-Web and confirm voice hint
  ids have been restored to the same ones as emitted by BRouter 1.6.3.
2023-07-11 17:57:14 +00:00
afischerdev
6084db93d3 new version 1.7.1 2023-07-10 18:18:10 +02:00
afischerdev
cc265269e6 change finish route parameters 2023-07-08 18:17:06 +02:00
afischerdev
488d37b070 used greater diff value 2023-07-08 09:57:50 +02:00
Arndt Brenschede
de0acb77c5 optimizing constant expressions in profile parsing 2023-06-25 12:51:10 +02:00
Manuel Fuhr
d508337d7e Fix tests with elevation data 2023-05-22 13:54:14 +02:00
afischerdev
64cabbe42f
Update RoutingEngine.java 2023-05-21 11:23:38 +02:00
afischerdev
fcab1a31fd
Merge branch 'master' into engine-mode 2023-05-21 11:14:00 +02:00
afischerdev
4e9d3d90eb re formatting entry point 2023-05-16 10:35:41 +02:00
afischerdev
3c5ac660bf get elevaton single point 2023-05-14 16:36:52 +02:00
Manuel Fuhr
28f205c1ad Enable PMD rule PrimitiveWrapperInstantiation and fix violations 2023-05-09 23:11:14 +02:00
Manuel Fuhr
7a6d3bd9d9 Enable PMD rule UseDiamondOperator and fix violations 2023-05-09 23:11:14 +02:00
afischerdev
3dffea1753 introducing engineMode for future use 2023-05-09 12:26:54 +02:00
afischerdev
43ea1ef054 rework start inside roundabout, turnInstructionRoundabouts 2023-05-04 12:28:05 +02:00
afischerdev
2c707c977b
Merge pull request #542 from moving-bits/blockformatting
Unify brackets for opening blocks with comments
2023-04-30 10:33:54 +02:00
moving-bits
79b1eda1ed Unify brackets for opening blocks with comments 2023-04-29 19:04:52 +02:00
moving-bits
52185f9860 fix some spellings 2023-04-29 18:38:16 +02:00
afischerdev
80d9a47927 version 1.7.0 2023-04-29 12:17:54 +02:00
afischerdev
b7422c0ca7 smaller rework on elev and energy values 2023-04-24 13:41:29 +02:00
afischerdev
1779b1d3b5 update misplace check routine for roundabouts 2023-04-22 13:17:52 +02:00
afischerdev
8190aaa92d update new exports 2023-04-22 12:45:36 +02:00
quaelnix
4c75de08c6
Cleanup recalcTrack 2023-04-18 15:11:24 +02:00
quaelnix
f5f3a7a6d6 Remove FastMath.exp
FastMath.exp was neither continuous nor strictly monotonically increasing for x < -1 and therefore inappropriate for the intended purpose.
2023-04-10 11:48:35 +02:00
afischerdev
4147405362
Merge branch 'abrensch:master' into fix-nogos 2023-03-28 09:33:04 +02:00
abrensch
dc5602b816
Merge pull request #497 from quaelnix/cost-cutoff-way-context
Allow hill cost and hill cutoff in way context
2023-03-27 09:20:35 +02:00
afischerdev
b225dd22d9 do not remove wpt in weighted nogos 2023-03-25 12:12:29 +01:00
afischerdev
fc22892a66
Merge pull request #511 from afischerdev/app-update
App update
2023-03-20 16:59:13 +01:00
afischerdev
0b3e6b19b0 add check wpt vs nogos 2023-03-19 13:58:32 +01:00
afischerdev
25be21fec9 reduze exception info 2023-03-14 14:27:57 +01:00
afischerdev
e49e039d73 clean up gpx outputs 2023-03-06 18:39:35 +01:00
afischerdev
59199d7339 add new vh tags for output 2023-03-06 18:33:20 +01:00
afischerdev
7e581ccb9e fix elev at last pt 2023-03-06 18:29:40 +01:00
afischerdev
7434c12b31 change output rules 2023-02-26 13:02:39 +01:00
afischerdev
b0eb0840d9 add messagedata for beeline 2023-02-20 18:32:57 +01:00
afischerdev
e905eefc6c change distance call 2023-02-19 13:48:20 +01:00
afischerdev
c9ae7c8681 change vh rules 2023-02-19 13:46:37 +01:00
afischerdev
15dd1f30f1 add rework vh process and add post process 2023-02-19 13:45:47 +01:00
afischerdev
c586245db5 add small elev rework 2023-02-19 13:43:57 +01:00
afischerdev
8903939176
Merge pull request #499 from quaelnix/fix-calc-distance
Fix rounding error in calcDistance
2023-02-15 17:24:03 +01:00
afischerdev
c588daa68f
Merge pull request #500 from quaelnix/elevation-filter-regression-fix
Fix regression in elevation filter logic
2023-02-15 17:21:19 +01:00
afischerdev
ca5279d7c7
Merge pull request #506 from quaelnix/eta-regression-fix
Fix regression in travel time computation
2023-02-13 18:47:14 +01:00
quaelnix
480977ec46
Fix regression in travel time computation
abrensch@17be365 introduced a bug that causes a negative bias in the calculated incline each time the elevation buffer is reset, which results in an additional misestimation of the travel time when via points are added.
2023-02-08 22:01:09 +01:00
quaelnix
829baba037 Allow hill cost and hill cutoff in way context
This removes the limitation that `downhillcutoff` and `uphillcutoff` as well as `downhillcost` and `uphillcost` cannot be used in the way context.
2023-01-29 17:00:54 +01:00
quaelnix
f46c94083e
Fix priorityclassifier initialization 2023-01-28 10:34:01 +01:00
quaelnix
c3508c2adc
Fix regression in elevation filter logic
25e506d changed the order in which the elevation deltas are passed through the elevation filter, which can lead to the undesirable behavior that appending segments to the end of a route can decrease the calculated total ascent. This fixes the bug by adjusting the elevation filter accordingly.
2023-01-24 23:38:11 +01:00
quaelnix
4495952625 Fix rounding error in calcDistance 2023-01-20 10:22:01 +01:00
afischerdev
3d34340e14 recalc elevation at end 2023-01-16 11:18:12 +01:00
afischerdev
32b258c188 recalc track rules, reorg detours 2023-01-16 10:37:19 +01:00
afischerdev
25e506dcbe recalc track at end 2023-01-15 18:05:18 +01:00
afischerdev
4867368296 move process voice hint, speed profile to the end 2023-01-15 17:43:51 +01:00
afischerdev
2b9a9d5bdd
Merge pull request #494 from afischerdev/update-version
Update lib part three - ignore misplaced via points
2023-01-15 16:44:56 +01:00
quaelnix
a49c43d1ef
Refactor computeKinematic 2023-01-10 15:34:37 +01:00
quaelnix
1e819cf5bd
Fix regression of travel time calculation
This fixes a regression in the travel time calculation in the kinematic model caused by combining the following two commits:
* bd025875d4 (diff-59799a4a78f59692f35951f94cd8733f7e34718c2d60a6248685159f637517a4)
* 57da34d205 (diff-59799a4a78f59692f35951f94cd8733f7e34718c2d60a6248685159f637517a4)
2023-01-10 15:32:17 +01:00
afischerdev
b98a576fe3 add routines for misplaced pts 2023-01-09 18:25:16 +01:00
afischerdev
d2297c0c52 add vars for misplaced pts 2023-01-09 18:13:03 +01:00
afischerdev
d67b3c0ec9 change use of direct routing 2022-12-05 11:50:52 +01:00
afischerdev
8fa27bcf6e remove compiler warnings 2022-11-23 16:28:43 +01:00
Manuel Fuhr
09a9c1a104 Enable PMD rule SimplifiedTernary and fix violations 2022-11-14 22:06:18 +01:00
Manuel Fuhr
3b77f93c00 Enable PMD rule UnnecessaryReturn and fix violations 2022-11-14 22:06:18 +01:00
Manuel Fuhr
30be64cbbe Enable PMD rule LooseCoupling and fix violations 2022-11-14 22:06:18 +01:00
Manuel Fuhr
c75a8cb703 Enable PMD rule UnnecessaryImport and fix violations 2022-11-14 22:06:18 +01:00
zod
0566f8154c
Merge pull request #478 from afischerdev/update-version
Extend android service interface and http API
2022-11-14 21:47:58 +01:00
afischerdev
78cd395ca1
Merge pull request #474 from zod/test-routeserver
Tests for RouteServer
2022-11-10 13:07:10 +01:00
Manuel Fuhr
15df3d392d Add testcase for param override 2022-11-09 18:35:44 +01:00
Manuel Fuhr
6f6d99b3e3 Stricter whitespace handling 2022-11-09 07:29:53 +01:00
afischerdev
54a7ad6b9d update lib part one 2022-11-02 09:37:12 +01:00
Manuel Fuhr
fd158dc0ce Cleanup testcases (split, dependencies, assertions) 2022-10-23 10:51:02 +02:00
Manuel Fuhr
3787076839 Move testcases from brouter-server to their modules 2022-10-23 10:22:47 +02:00
Manuel Fuhr
c15913c1ab Reformat whole codebase using Android Studio 2022-07-25 06:14:46 +02:00
Manuel Fuhr
669ea28d1b Share track via intent 2022-05-30 22:39:11 +02:00
polyscias
62444f8387 Update locus html generation to have only one extension section 2022-04-18 12:23:21 +02:00
Arndt Brenschede
96ab3bf5c2 suspect-manager: display trigger-list 2022-02-12 21:48:26 +01:00
Arndt Brenschede
8fd38da5c9 Merge branch 'master' of https://github.com/abrensch/brouter 2022-01-15 09:58:37 +01:00
Arndt Brenschede
7173e78214 TR bike exceptions also for foot-mode 2022-01-15 09:57:22 +01:00
vodie
5f62723cbb
no turnrestrictions for footmode 2022-01-15 01:49:02 +01:00
afischerdev
623f3c0279 set new version 1.6.3 2021-12-21 17:02:35 +01:00
afischerdev
12116b8467 change version numbers 2021-10-05 16:32:18 +02:00
afischerdev
1f99ef4d60 default value for "considerTurnRestrictions" (#307) 2021-09-05 17:12:24 +02:00
afischerdev
6601512bc3
Merge pull request #289 from ntruchsess/fix_issue_#288
fix issue #288 (No-go polyline sometimes leaky)
2021-09-05 17:01:29 +02:00
afischerdev
8e008a8d66 hardcoded waypoint distance to variable 2021-07-30 14:15:12 +02:00
afischerdev
4bbd2d7bff move params forward 2021-07-24 11:45:56 +02:00
afischerdev
57da34d205 speed handling #301 2021-07-08 13:35:49 +02:00
afischerdev
03574f834c more on version code 2021-07-07 12:21:52 +02:00
afischerdev
8c5a961011
Merge branch 'master' into cleanup-fileaccess 2021-07-01 11:20:30 +02:00
afischerdev
d0f3644b1f
Merge branch 'abrensch:master' into master 2021-06-29 11:48:37 +02:00
afischerdev
e210b92225
Merge pull request #243 from Erlkoenig90/migrate-gradle
Switch build system to gradle
2021-06-29 11:46:51 +02:00
afischerdev
f59eb0de1e
Merge branch 'abrensch:master' into master 2021-06-24 12:34:38 +02:00
Arndt Brenschede
8234293e5a time/energy in message data only integer precision 2021-05-02 15:31:41 +02:00
radim-asamm
be71c0d86e Added time and energy to response messages. 2021-04-22 14:01:17 +02:00
Norbert Renner
3565f39914 Complete voice hints and add times to GeoJSON 2021-04-10 10:08:31 +02:00
Arndt Brenschede
eb716506fd bee-line patch: Nogo covering 2 Waypoints triggers a beeline segment 2021-03-31 16:07:21 +02:00
Norbert Truchsess
9335fd1435 fix issue #288 (No-go polyline sometimes leaky)
Signed-off-by: Norbert Truchsess <ntruchsess@t-online.de>
2021-01-29 18:08:06 +01:00
afischerdev
98b7b7312c add json export 2020-06-29 10:02:27 +02:00
Arndt Brenschede
cdd3a80b9e rework same-segment search logic 2020-06-28 13:52:45 +02:00
Arndt Brenschede
7e4bcebd3c fixed problem for same-segment searches with exact node matches 2020-06-27 12:37:15 +02:00
Niklas Guertler
dbdfd36f88 Cleanup base directory selection, use Context.getExternalFilesDirs and request WRITE_EXTERNAL_STORAGE permission, use AndroidX and raise minSdkVersion to 14. Use File instead of plain Strings for paths in some places, use try-with-resources, and some other small improvements. 2020-05-24 17:59:23 +02:00
Niklas Guertler
72e2e13d07 Switched build system to gradle 2020-05-24 16:46:04 +02:00
vodie
8dca375589
export Oruxmaps Navigation instructions 2020-05-17 23:24:01 +02:00