Tags: michaelchen0426/osrm-backend
Tags
This release mostly brings bug fixes and profile changes. Some highlights: * Fixed filetype checks for input data * Add penalty if there is only one lane for both directions * Fix tag misspellings in profiles + tests: forestry, pebblestone * Server supports POST requests * Don't remove small segments at start/begin if they are vias * `locs` parameter added that accepts via coordinates as polyline * Deduplicate edges in contractor correctly and add better graph validation. * Add running tracks to foot profile * Use 'name (ref)' for way names if both are present * Content Type validation added * Update bicycle profile to ignore crossing nodes * Fixed Project-OSRM#1424 and all related bugs. * Fixed Coverity issues * Refactor ProcessingChain by splitting into sub functions * Refactor ExtractionContainers by splitting into sub functions * Return error message when lua error occurs. * Cleanup the default profiles (formating, style, removed duplicate code) * Follow symlinks to profiles * Use distance based search radius for coordinates (limited to 1100m)
The biggest addition in this release is the map matching plugin. Please note that the library interface changed! The naming convention of the headers now follows the new style guidelines for the rest of OSRM. Some highlights: - Library includes now follow the new style convention - Library interface now uses the internal JSON object - Add map matching plugin - way id, node id and node location available thru Lua bindings - traffic signal penalty ignored on white-listed barriers, cf. Project-OSRM#1365 - fix escaping of double quote in JSON response, fixes Project-OSRM#1410 and also adds a unit test for that case. - Add test for building as shared library - fix incorrect behavior when via point was on same one-way street as destination but should have been reached before, closes Project-OSRM#1424 - fix rounding error/uncertainty on some systems - implement ISO 8601 durations parsing, cf. Project-OSRM#1399 - use CRTP instead of virtual functions in routing plugins - add movable bridge support to the car profile. Implements Project-OSRM#1399 - Allow CORS requests in osrm-routed. - check if stxxl compiles with or without libgomp, fixes Project-OSRM#1361 - speed up nearest neighbor query by pruning, move coordinate calculations away from library interface - Add regression test for FixedpointCoordinate - remove copy of libosmium, to be replaced by a subtree - use static graph for component exploration, closes Project-OSRM#1288 - Move server configuration from method parameter to a struct - Add a commande line option to osrm-routed for max locations supported in distance table query
First of all, we are using the great libosmium[2] for parsing OSM dat… …a files now. It's developed by Jochen Topf and we have been impressed with the speed and reliability of the code. Thus, we retired our own parsing code. Expect a speedup when parsing files! Please note that this is a breaking change if you have been using custom speed profiles with your OSRM installation. If you have any questions or concerns porting your speed profile, please don't hesitate to get in contact. This is the shortened change log: - implement parsing thru libosmium - reimplemented incremental nearest neighbor query - nearest neighbor is chosen from nearest small and big component - updated cucumber tests - refactored SCC traversal code, same interface as BFS components code - move application logic, i.e. shape file generation, from SCC traversal class to calling tool code - enable gcc color output when available - continued stream-lining of source files to remove camel case - fixed a number of unintended implicit un/signed casts - fixed a number of of old-style casts - reformatted code of phantom node c'tor for legibility - add better checks for forbidden routes - made implementation of restriction map independent of graph type - replace insecure std::rand by C++11's random number generation - fix coverity issue 1258907 Division or modulo by float zero - use JSON container to hold all intermediate results: - fix Project-OSRM#1255 assume lift gates are passable
- Merge pull request Project-OSRM#889 from Project-OSRM/experimental/… …cuke_datastore - change of travel_mode is now indicated, ie. ferries, shuttle trains, etc. - update car and foot profiles, add ferry mode - support for maxspeed tags in the form of 'countrycode:zone type' for car profile - support way surface, tracktype, smoothness tags in car profile - ability to get multiple points from /nearest by using num_results argument - use double precision floating point math to fix some rounding issues - fixed a number of bugs in the compressed graph format - use smarter caching in the test suite, speeds up re-runs. - remove compile-time time stamps for less rebuilds - replace boost::variant w/ mapbox::util::variant - tighter C++11 integration - enable partitioning on link-time optimization, good riddance GCC 4.7 - better checking for luabind compilation, fixes some OSX woes - use object libraries in cmake Potentially breaking changes: - removed remaining GCC 4.7 support - the server API has changed to include travel mode - bumped minimum CMake to 2.8.8
This is the shortened change log: - Announcement of waypoints, closes Project-OSRM#584 - U-Turns at Via nodes are now allowed (not yet visible in frontend) - Extraction of road network roughly 10% faster than previous release - No inconvient use of space in /tmp anymore - Added a distinct tool to check if hsgr file is valid: osrm-check-hsgr - Added more unit tests based on boost/test. - Use multiple cores during sorting steps - Windows port much more stable, builds with significantly less errors - Fixed a rare segfault in path query - Fixed a bug in turn restriction combination including overlaps and one-ways - Fixed bug in osrm-components tool - Added timings to a number of locations - Added BUILD_TOOLS cmake flag, deprecated WITH_TOOLS - Fixed selection of alternative route name - Many, many bigger and smaller code changes
This is the shortened change log: - Windows support: Fetch the latest develop branch build from http://build.project-osrm.org - MinGW compiler support - Parallelization now uses Intel Thread Building blocks, bringing feature parity to all supported platforms - Significant query speed improvements, about twice as fast - The distance table feature does not need any zoom level anymore. Finds best nearest edge automatically - First compressed and succinct data structure to improve memory footprint - Improved and faster heuristics for polyline generalization - Fixes a resource leak on shutdown - Shared-Memory parallel sorting where applicable - Lots of smaller and bigger changes to the code base - Lots of code improvements thanks to C++11 and static analysis tools - Better control the number of used threads during extraction and preprocessing - Updated NodeJS bindings [2] supporting the new distance table API endpoint
This is the shortened change log: - new API call: efficient distance table computation - use 100 locations at max for dist table (for now) - JSON output generation through a dedicated JSON container - deactivate LTO on debug build - fix performance regression in preprocessing - use static assertions for better source code correctness - add some static asserts to guard against memory usage regressions - do less work when compressing geometries - move most geometric calculations to float - replace boost::unordered_map, move hash function for pairs into its own header - refactor route name extraction into its own class, fix name extraction - further includes untangling - introduce range based for loops to traverse graphs - further boost by STL replacements - use lookup tables from some trigonometry functions - fix compile regression in debug build - further code improvements and bug fixes Please not the following (minor) breaking changes: - the JSON formatted output now omits empty, i.e. unused fields - the response file names are now response.js(on) or route.gpx
PreviousNext