Tags: stecyr/osrm-backend
Tags
Release OSRM 5.5.0 Tags - Added a more accurate weight penalty for ways tagged with [`oneway=alternating`](http://wiki.openstreetmap.org/wiki/Tag:oneway%3Dalternating). These tags are for narrow bridges or tunnels on which the direction of traffic alternates every `n` minutes and are sometimes traffic light controlled. - Brought guidance support in line with guidance on roundabouts for [`junction=circular`](https://wiki.openstreetmap.org/wiki/Tag:junction%3Dcircular) tagged junctions. These junctions can be thought of as roundabouts where traffic within the roundabout does not always have right of way (examples [[1]](http://www.openstreetmap.org/way/288767318#map=19/52.51863/13.45327), [[2]](http://www.openstreetmap.org/way/37294337#map=19/52.49906/13.41832)). - Support for [`destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward`](http://wiki.openstreetmap.org/wiki/Key:destination) also in combination with [`oneway=-1`](http://wiki.openstreetmap.org/wiki/Key:oneway) tags. Guidance - Polished up turn angle classification by detecting offsets due to lanes and minor variations due to data modelling inaccuracies. Turn angles now better resemble what users experience. - More accurate classification of sliproad scenarios (examples [[1]](http://www.openstreetmap.org/way/33912098#map=19/52.53781/13.34441), [[2]](http://www.openstreetmap.org/way/4597207#map=19/52.52725/13.38695)). When the maneuver is obvious, we now emit a single instruction for turning onto and then immediately off of sliproads. - Improvements to the name change heuristic reduce new name announcements. API - We now support precision 5 (default) and 6 polyline geometries with the new parameter, `geometries=polyline6`. Infrastructure - Improvements to the Hilbert space filling curve contribute to improvements to geospatial lookup performance. - The ever useful [Debug Map](http://map.project-osrm.org/debug/#15.93/52.5145/13.3516) now displays turn penalties at higher zoom levels. - We now provide [online documentation](http://project-osrm.org/docs/v5.5.0/api/) for the API (requests, responses, examples). - Shared memory now supports multiple clients (multiple instances of libosrm). - Improved error reporting, especially for I/O and file loading. - API: - `osrm-datastore` now accepts the parameter `--max-wait` that specifies how long it waits before aquiring a shared memory lock by force - Shared memory now allows for multiple clients (multiple instances of libosrm on the same segment) - Polyline geometries can now be requested with precision 5 as well as with precision 6 - Profiles - the car profile has been refactored into smaller functions - get_value_by_key() is now guaranteed never to return empty strings, nil is returned instead. - debug.lua was added to make it easier to test/develop profile code. - `car.lua` now depends on lib/set.lua and lib/sequence.lua - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Handle `oneway=alternating` (routed over with penalty) separately from `oneway=reversible` (not routed over due to time dependence) - Handle `destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward` tags - Properly handle destinations on `oneway=-1` roads - Guidance - Notifications are now exposed more prominently, announcing turns onto a ferry/pushing your bike more prominently - Improved turn angle calculation, detecting offsets due to lanes / minor variations due to inaccuracies - Corrected the bearings returned for intermediate steps - requires reprocessing - Improved turn locations for collapsed turns - Sliproad classification refinements: the situations we detect as Sliproads now resemble more closely the reality - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - fixed compile errors in tile unit-test framework - fixed a bug that could result in inconsistent behaviour when collapsing instructions - fixed a bug that could result in crashes when leaving a ferry directly onto a motorway ramp - fixed a bug in the tile plugin that resulted in discovering invalid edges for connections - improved error messages when missing files during traffic updates (Project-OSRM#3114) - For single coordinate geometries the GeoJSON `Point` encoding was broken. We now always emit `LineString`s even in the one-coordinate-case (backwards compatible) (Project-OSRM#3425) - Debug Tiles - Added support for turn penalties - Internals - Internal/Shared memory datafacades now share common memory layout and data loading code - File reading now has much better error handling - Misc - Progress indicators now print newlines when stdout is not a TTY - Prettier API documentation now generated via `npm run build-api-docs` output `build/docs`
Release 5.5.0 RC5 - Changes from 5.5.0 RC4 - Bugfixes - Fix invalid assertion in coordinate extraction - Fix pruning heuristic for self-loops in contractor - Changes from 5.4.0 - API: - `osrm-datastore` now accepts the parameter `--max-wait` that specifies how long it waits before aquiring a shared memory lock by force - Shared memory now allows for multiple clients (multiple instances of libosrm on the same segment) - Polyline geometries can now be requested with precision 5 as well as with precision 6 - Profiles - the car profile has been refactored into smaller functions - get_value_by_key() is now guaranteed never to return empty strings, nil is returned instead. - debug.lua was added to make it easier to test/develop profile code. - `car.lua` now depends on lib/set.lua and lib/sequence.lua - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Handle `oneway=alternating` (routed over with penalty) separately from `oneway=reversible` (not routed over due to time dependence) - Handle `destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward` tags - Properly handle destinations on `oneway=-1` roads - Guidance - Notifications are now exposed more prominently, announcing turns onto a ferry/pushing your bike more prominently - Improved turn angle calculation, detecting offsets due to lanes / minor variations due to inaccuracies - Corrected the bearings returned for intermediate steps - requires reprocessing - Improved turn locations for collapsed turns - Sliproad classification refinements: the situations we detect as Sliproads now resemble more closely the reality - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - fixed compile errors in tile unit-test framework - fixed a bug that could result in inconsistent behaviour when collapsing instructions - fixed a bug that could result in crashes when leaving a ferry directly onto a motorway ramp - fixed a bug in the tile plugin that resulted in discovering invalid edges for connections - improved error messages when missing files during traffic updates (Project-OSRM#3114) - For single coordinate geometries the GeoJSON `Point` encoding was broken. We now always emit `LineString`s even in the one-coordinate-case (backwards compatible) (Project-OSRM#3425) - Debug Tiles - Added support for turn penalties - Internals - Internal/Shared memory datafacades now share common memory layout and data loading code - File reading now has much better error handling - Misc - Progress indicators now print newlines when stdout is not a TTY - Prettier API documentation now generated via `npm run build-api-docs` output `build/docs`
Release OSRM 5.5.0 RC4 - Changes from 5.5.0 RC4 - Bugfixes - For single coordinate geometries the GeoJSON `Point` encoding was broken. We now always emit `LineString`s even in the one-coordinate-case (backwards compatible) (Project-OSRM#3425) - Fixed updating the node-based-edge weight for contraction - Fixed switching datasets when having multiple processes reading from shared memory - Changes from 5.4.0 - API: - `osrm-datastore` now accepts the parameter `--max-wait` that specifies how long it waits before aquiring a shared memory lock by force - Shared memory now allows for multiple clients (multiple instances of libosrm on the same segment) - Polyline geometries can now be requested with precision 5 as well as with precision 6 - Profiles - the car profile has been refactored into smaller functions - get_value_by_key() is now guaranteed never to return empty strings, nil is returned instead. - debug.lua was added to make it easier to test/develop profile code. - `car.lua` now depends on lib/set.lua and lib/sequence.lua - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Handle `oneway=alternating` (routed over with penalty) separately from `oneway=reversible` (not routed over due to time dependence) - Handle `destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward` tags - Properly handle destinations on `oneway=-1` roads - Guidance - Notifications are now exposed more prominently, announcing turns onto a ferry/pushing your bike more prominently - Improved turn angle calculation, detecting offsets due to lanes / minor variations due to inaccuracies - Corrected the bearings returned for intermediate steps - requires reprocessing - Improved turn locations for collapsed turns - Sliproad classification refinements: the situations we detect as Sliproads now resemble more closely the reality - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - fixed compile errors in tile unit-test framework - fixed a bug that could result in inconsistent behaviour when collapsing instructions - fixed a bug that could result in crashes when leaving a ferry directly onto a motorway ramp - fixed a bug in the tile plugin that resulted in discovering invalid edges for connections - improved error messages when missing files during traffic updates (Project-OSRM#3114) - For single coordinate geometries the GeoJSON `Point` encoding was broken. We now always emit `LineString`s even in the one-coordinate-case (backwards compatible) (Project-OSRM#3425) - Debug Tiles - Added support for turn penalties - Internals - Internal/Shared memory datafacades now share common memory layout and data loading code - File reading now has much better error handling - Misc - Progress indicators now print newlines when stdout is not a TTY - Prettier API documentation now generated via `npm run build-api-docs` output `build/docs`
Released 5.5.0 RC3 Changes from 5.4.0 - API: - `osrm-datastore` now accepts the parameter `--max-wait` that specifies how long it waits before aquiring a shared memory lock by force - Shared memory now allows for multiple clients (multiple instances of libosrm on the same segment) - Polyline geometries can now be requested with precision 5 as well as with precision 6 - Profiles - the car profile has been refactored into smaller functions - get_value_by_key() is now guaranteed never to return empty strings, nil is returned instead. - debug.lua was added to make it easier to test/develop profile code. - `car.lua` now depends on lib/set.lua and lib/sequence.lua - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Handle `oneway=alternating` (routed over with penalty) separately from `oneway=reversible` (not routed over due to time dependence) - Handle `destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward` tags - Properly handle destinations on `oneway=-1` roads - Guidance - Notifications are now exposed more prominently, announcing turns onto a ferry/pushing your bike more prominently - Improved turn angle calculation, detecting offsets due to lanes / minor variations due to inaccuracies - Corrected the bearings returned for intermediate steps - requires reprocessing - Improved turn locations for collapsed turns - Sliproad classification refinements: the situations we detect as Sliproads now resemble more closely the reality - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - fixed compile errors in tile unit-test framework - fixed a bug that could result in inconsistent behaviour when collapsing instructions - fixed a bug that could result in crashes when leaving a ferry directly onto a motorway ramp - fixed a bug in the tile plugin that resulted in discovering invalid edges for connections - improved error messages when missing files during traffic updates (Project-OSRM#3114) - Debug Tiles - Added support for turn penalties - Internals - Internal/Shared memory datafacades now share common memory layout and data loading code - File reading now has much better error handling - Misc - Progress indicators now print newlines when stdout is not a TTY - Prettier API documentation now generated via `npm run build-api-docs` output `build/docs`
- Changes from 5.4.0 - API: - `osrm-datastore` now accepts the parameter `--max-wait` that specifies how long it waits before aquiring a shared memory lock by force - Shared memory now allows for multiple clients (multiple instances of libosrm on the same segment) - Polyline geometries can now be requested with precision 5 as well as with precision 6 - Profiles - the car profile has been refactored into smaller functions - get_value_by_key() is now guaranteed never to return empty strings, nil is returned instead. - debug.lua was added to make it easier to test/develop profile code. - `car.lua` now depends on lib/set.lua and lib/sequence.lua - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Handle `oneway=alternating` (routed over with penalty) separately from `oneway=reversible` (not routed over due to time dependence) - Handle `destination:forward`, `destination:backward`, `destination:ref:forward`, `destination:ref:backward` tags - Properly handle destinations on `oneway=-1` roads - Guidance - Notifications are now exposed more prominently, announcing turns onto a ferry/pushing your bike more prominently - Improved turn angle calculation, detecting offsets due to lanes / minor variations due to inaccuracies - Corrected the bearings returned for intermediate steps - requires reprocessing - Improved turn locations for collapsed turns - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - fixed compile errors in tile unit-test framework - fixed a bug that could result in inconsistent behaviour when collapsing instructions - fixed a bug that could result in crashes when leaving a ferry directly onto a motorway ramp - fixed a bug in the tile plugin that resulted in discovering invalid edges for connections - Debug Tiles - Added support for turn penalties - Internals - Internal/Shared memory datafacades now share common memory layout and data loading code - File reading now has much better error handling - Misc - Progress indicators now print newlines when stdout is not a TTY - Prettier API documentation now generated via `npm run build-api-docs` output `build/docs`
- Bugfixes - Project-OSRM#3254 Fixed a bug that could end up hiding roundabout instructions - Project-OSRM#3260 fixed a bug that provided the wrong location in the arrival instruction
Release OSRM 5.4.2 Changes from 5.4.1 - Bugfixes - Project-OSRM#3032 Fixed a bug that could result in emitting `invalid` as an instruction type on sliproads with mode changes - Project-OSRM#3085 Fixed an outdated assertion that could throw without a cause for concern - Project-OSRM#3037 Fixed omitting the last coordinate for overview=simplified - Project-OSRM#3176 Fixed exposing wrong OSM ids in matching - Fixes splitting logic in map matching
Release OSRM 5.4.1 - Bugfixes - Project-OSRM#3016: Fixes shared memory updates while queries are running
Release 5.4.0 - Chages from 5.4.0-rc.6 - Bugfixes re-introduce space between two entries in summaries - Changes from 5.4.0-rc.5 - Bugfixes - fixed a bug where polyline decoding on a defective polyline could end up in out-of-bound access on a vector - Guidance - Summaries have been improved to consider references as well - Changes from 5.4.0-rc.4 - Guidance - Improved detection of obvious name changes - Profiles - The default profile for car now excludes HOV-only routes in navigation by default - Bugfixes - Fixed a bug that could result in endless loops in combination with sliproads - Changes from 5.4.0-rc.3 - Bugfixes - Fixed a bug where roundabout intersections could result in breaking assertions when immediately exited - Changes from 5.4.0-rc.2 - Bugfixes - BREAKING: Fixed a bug where some roads could be falsly identified as sliproadsi This change requires reprocessing datasets with osrm-extract and osrm-contract - BREAKING: Fixed a bug that resulted in false names/ref/destination/pronunciation This change requires reprocessing datasets with osrm-extract and osrm-contract - `restrictions` is now used for namespaced restrictions and restriction exceptions (e.g. `restriction:motorcar=` as well as `except=motorcar`) - replaced lhs/rhs profiles by using test defined profiles - Trip Plugin - changed internal behaviour to prefer the smallest lexicographic result over the largest one - Changes from 5.3.0 - Profiles - includes library guidance.lua that offers preliminary configuration on guidance. - added left_hand_driving flag in global profile properties - modified turn penalty function for car profile - better fit to real data - return `ref` and `name` as separate fields. Do no use ref or destination as fallback for name value - Guidance - Handle Access tags for lanes, only considering valid lanes in lane-guidance (think car | car | bike | car) - API: - `annotations=true` now returns the data source id for each segment as `datasources` - Reduced semantic of merge to refer only to merges from a lane onto a motorway-like road - new `ref` field in the `RouteStep` object. It contains the reference code or name of a way. Previously merged into the `name` property like `name (ref)` and are now separate fields. - Bugfixes - Fixed an issue that would result in segfaults for viaroutes with an invalid intermediate segment when u-turns were allowed at the via-location - Invalid only_* restrictions could result in loss of connectivity. As a fallback, we assume all turns allowed when the restriction is not valid - Fixed a bug that could result in an infinite loop when finding information about an upcoming intersection - Fixed a bug that led to not discovering if a road simply looses a considered prefix - BREAKING: Fixed a bug that could crash postprocessing of instructions on invalid roundabout taggings. This change requires reprocessing datasets with osrm-extract and osrm-contract - Fixed an issue that could emit `invalid` as instruction when ending on a sliproad after a traffic-light - Fixed an issue that would detect turning circles as sliproads - Fixed a bug where post-processing instructions (e.g. left + left -> uturn) could result in false pronunciations - Fixes a bug where a bearing range of zero would cause exhaustive graph traversals - Fixes a bug where certain looped geometries could cause an infinite loop during extraction - Infrastructure: - Adds a feature to limit results in nearest service with a default of 100 in `osrm-routed`
PreviousNext