Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Release Date: 2018-11-21 Valhalla 3.0.1
- Bug Fix
- FIXED: Fixed a rare, but serious bug with bicycle costing. ferry_factor_ in bicycle costing shadowed the data member in the base dynamic cost class, leading to an unitialized variable. Occasionally, this would lead to negative costs which caused failures. #1663
- FIXED: Fixed use of units in OSRM compatibility mode. #1662
Release Date: 2018-11-21 Valhalla 3.0.0
- This release changes the Valhalla graph tile formats. Tile data is incompatible with Valhalla 2.x builds, and code for 3.x is incompatible with data built for Valahalla 2.x versions. Valhalla tile sizes are slightly smaller (for datasets using elevation information the size savings is over 10%). In addition, there is increased flexibility for creating different variants of tiles to support different applications (e.g. bicycle only, or driving only).
- Remove the use of DirectedEdge for transitions between nodes on different hierarchy levels. A new structure, NodeTransition, is now used to transition to nodes on different hierarchy level. This saves space since only the end node GraphId is needed for the transitions (and DirectedEdge is a large data structure).
- Change the NodeInfo lat,lon to use an offset from the tile base lat,lon. This potentially allows higher precision than using float, but more importantly saves space and allows support for NodeTransitions as well as spare for future growth.
- Remove the EdgeElevation structure and max grade information into DirectedEdge and mean elevation into EdgeInfo. This saves space.
- Reduce wayid to 32 bits. This allows sufficient growth when using OpenStreetMap data and frees space in EdgeInfo (allows moving speed limit and mean elevation from other structures).
- Move name consistency from NodeInfo to DirectedEdge. This allows a more efficient lookup of name consistency.
- Update all path algorithms to use NodeTransition logic rather than special DirectedEdge transition types. This simplifies PathAlgorithms slightly and removes some conditional logic.
- Add an optional GraphFilter stage to tile building pipeline. This allows removal of edges and nodes based on access. This allows bicycle only, pedestrian only, or driving only datasets (or combinations) to be created - allowing smaller datasets for special purpose applications.
- Valhalla 3.0 removes support for OSMLR.
Release Date: 2018-11-20 Valhalla 2.7.2
- UPDATED: Added a configuration variable for max_timedep_distance. This is used in selecting the path algorithm and provides the maximum distance between locations when choosing a time dependent path algorithm (other than multi modal). Above this distance, bidirectional A* is used with no time dependencies.
- UPDATED: Remove transition edges from priority queue in Multimodal methods.
- UPDATED: Fully implement street names and exit signs with ability to identify route numbers. #1635
- Bug Fix
- FIXED: A timed-turned restriction should not be applied when a non-timed route is executed. #1615
- FIXED: Changed unordered_map to unordered_multimap for polys. Poly map can contain the same key but different multi-polygons. For example, islands for a country or timezone polygons for a country.
- FIXED: Fixed timezone db issue where TZIDs did not exist in the Howard Hinnant date time db that is used in the date_time class for tz indexes. Added logic to create aliases for TZIDs based on https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- FIXED: Fixed the ramp turn modifiers for osrm compat #1569
- FIXED: Fixed the step geometry when using the osrm compat mode #1571
- FIXED: Fixed a data creation bug causing issues with A* routes ending on loops. #1576
- FIXED: Fixed an issue with a bad route where destination only was present. Was due to thresholds in bidirectional A*. Changed threshold to be cost based rather than number of iterations). #1586
- FIXED: Fixed an issue with destination only (private) roads being used in bicycle routes. Centralized some "base" transition cost logic in the base DynamicCost class. #1587
- FIXED: Remove extraneous ramp maneuvers #1657
- UPDATED: Added date time support to forward and reverse isochrones. Add speed lookup (predicted speeds and/or free-flow or constrained flow speed) if date_time is present.
- UPDATED: Add timezone checks to multimodal routes and isochrones (updates localtime if the path crosses into a timezone different than the start location).
- Data Producer Update
- UPDATED: Removed boost date time support from transit. Now using the Howard Hinnant date library.
- Bug Fix
- FIXED: Fixed a bug with shortcuts that leads to inconsistent routes depending on whether shortcuts are taken, different origins can lead to different paths near the destination. This fix also improves performance on long routes and matrices.
- FIXED: We were getting inconsistent results between departing at current date/time vs entering the current date/time. This issue is due to the fact that the iso_date_time function returns the full iso date_time with the timezone offset (e.g., 2018-09-27T10:23-07:00 vs 2018-09-27T10:23). When we refactored the date_time code to use the new Howard Hinnant date library, we introduced this bug.
- FIXED: Increased the threshold in CostMatrix to address null time and distance values occuring for truck costing with locations near the max distance.
- UPDATED: Refactor to use the pbf options instead of the ptree config #1428 This completes 1357
- UPDATED: Removed the boost/date_time dependency from baldr and odin. We added the Howard Hinnant date and time library as a submodule. #1494
- UPDATED: Fixed 'Drvie' typo #1505 This completes 1504
- UPDATED: Optimizations of GetSpeed for predicted speeds 1490
- UPDATED: Isotile optimizations
- UPDATED: Added stats to predictive traffic logging
- UPDATED: resample_polyline - Breaks the polyline into equal length segments at a sample distance near the resolution. Break out of the loop through polyline points once we reach the specified number of samplesthen append the last
- UPDATED: added android logging and uses a shared graph reader
- UPDATED: Do not run a second pass on long pedestrian routes that include a ferry (but succeed on first pass). This is a performance fix. Long pedestrian routes with A star factor based on ferry speed end up being very inefficient.
- Bug Fix
- FIXED: A* destination only
- FIXED: Fixed through locations weren't honored #1449
FIXED: Use a non-linear use_highways factor (to more heavily penalize highways as use_highways approaches 0).
ENHANCEMENT: Added logic to modulate the surface factor based on use_trails.
ADDED: New customer test requests for motorcycle costing.