Left-hand driving flag review updates

This commit is contained in:
Michael Krasnyk 2017-08-21 13:41:27 +02:00
parent 7ad9e13f1e
commit 4eac861eae
4 changed files with 13 additions and 14 deletions

View File

@ -2,6 +2,8 @@
- Profile: - Profile:
- New function to support relations: `process_relation`. Read more in profiles documentation. - New function to support relations: `process_relation`. Read more in profiles documentation.
- Support of `distance` weight in foot and bicycle profiles - Support of `distance` weight in foot and bicycle profiles
- Added an optional argument `location_data` to `process_way`function that is a table containing OSM tags in a GeoJSON file specified by `--location-dependent-data` command line argument of `osrm-extract` (the option requires `osmium add-locations-to-ways` preparation step)
- left-side driving mode is specified by a local Boolean flag `is_left_hand_driving` in `ExtractionWay` and `ExtractionTurn`
- Infrastructure: - Infrastructure:
- Lua 5.1 support is removed due to lack of support in sol2 https://github.com/ThePhD/sol2/issues/302 - Lua 5.1 support is removed due to lack of support in sol2 https://github.com/ThePhD/sol2/issues/302
- Node.js Bindings: - Node.js Bindings:
@ -39,7 +41,6 @@
- BREAKING: Traffic signals will no longer be represented as turns internally. This requires re-processing of data but enables via-way turn restrictions across highway=traffic_signals - BREAKING: Traffic signals will no longer be represented as turns internally. This requires re-processing of data but enables via-way turn restrictions across highway=traffic_signals
- Additional checks for empty segments when loading traffic data files - Additional checks for empty segments when loading traffic data files
- Tunes the constants for turns in sharp curves just a tiny bit to circumvent a mix-up in fork directions at a specific intersection (https://github.com/Project-OSRM/osrm-backend/issues/4331) - Tunes the constants for turns in sharp curves just a tiny bit to circumvent a mix-up in fork directions at a specific intersection (https://github.com/Project-OSRM/osrm-backend/issues/4331)
- BREAKING: added `is_left_hand_driving` vector to `.ebg_nodes` file
- Infrastructure - Infrastructure
- Refactor datafacade to make implementing additional DataFacades simpler - Refactor datafacade to make implementing additional DataFacades simpler
- Bugfixes - Bugfixes
@ -52,10 +53,6 @@
- Fix a pre-processing bug where incorrect directions could be issued when two turns would have similar instructions and we tried to give them distinct values (https://github.com/Project-OSRM/osrm-backend/pull/4375) - Fix a pre-processing bug where incorrect directions could be issued when two turns would have similar instructions and we tried to give them distinct values (https://github.com/Project-OSRM/osrm-backend/pull/4375)
- The entry bearing for correct the cardinality of a direction value (https://github.com/Project-OSRM/osrm-backend/pull/4353 - The entry bearing for correct the cardinality of a direction value (https://github.com/Project-OSRM/osrm-backend/pull/4353
- Change timezones in West Africa to the WAT zone so they're recognized on the Windows platform - Change timezones in West Africa to the WAT zone so they're recognized on the Windows platform
- Profiles
- Added an optional argument `location_data` to `process_way`function that is a table containing OSM tags in a GeoJSON file specified by `--location-dependent-data` command line argument of `osrm-extract` (the option requires `osmium add-locations-to-ways` preparation step)
- `left_hand_driving` flag is no more global but a local Boolean flag `is_left_hand_driving` in `ExtractionWay` and `ExtractionTurn`
# 5.10.0 # 5.10.0
- Changes from 5.9: - Changes from 5.9:

View File

@ -46,21 +46,21 @@ struct ExtractionWay
backward_rate = -1; backward_rate = -1;
duration = -1; duration = -1;
weight = -1; weight = -1;
roundabout = false;
circular = false;
is_startpoint = true;
name.clear(); name.clear();
ref.clear(); ref.clear();
pronunciation.clear(); pronunciation.clear();
destinations.clear(); destinations.clear();
exits.clear(); exits.clear();
forward_travel_mode = TRAVEL_MODE_INACCESSIBLE;
backward_travel_mode = TRAVEL_MODE_INACCESSIBLE;
turn_lanes_forward.clear(); turn_lanes_forward.clear();
turn_lanes_backward.clear(); turn_lanes_backward.clear();
road_classification = guidance::RoadClassification(); road_classification = guidance::RoadClassification();
backward_restricted = false; forward_travel_mode = TRAVEL_MODE_INACCESSIBLE;
backward_travel_mode = TRAVEL_MODE_INACCESSIBLE;
roundabout = false;
circular = false;
is_startpoint = true;
forward_restricted = false; forward_restricted = false;
backward_restricted = false;
is_left_hand_driving = false; is_left_hand_driving = false;
} }
@ -110,12 +110,15 @@ struct ExtractionWay
guidance::RoadClassification road_classification; guidance::RoadClassification road_classification;
TravelMode forward_travel_mode : 4; TravelMode forward_travel_mode : 4;
TravelMode backward_travel_mode : 4; TravelMode backward_travel_mode : 4;
// Boolean flags
bool roundabout : 1; bool roundabout : 1;
bool circular : 1; bool circular : 1;
bool is_startpoint : 1; bool is_startpoint : 1;
bool forward_restricted : 1; bool forward_restricted : 1;
bool backward_restricted : 1; bool backward_restricted : 1;
bool is_left_hand_driving : 1; bool is_left_hand_driving : 1;
bool : 2;
}; };
} }
} }

View File

@ -22,10 +22,10 @@ function setup()
u_turn_penalty = 20, u_turn_penalty = 20,
continue_straight_at_waypoint = true, continue_straight_at_waypoint = true,
use_turn_restrictions = true, use_turn_restrictions = true,
left_hand_driving = false,
traffic_light_penalty = 2, traffic_light_penalty = 2,
}, },
left_hand_driving = false,
default_mode = mode.driving, default_mode = mode.driving,
default_speed = 10, default_speed = 10,
oneway_handling = true, oneway_handling = true,

View File

@ -238,7 +238,7 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
"interpolate", "interpolate",
&RasterContainer::GetRasterInterpolateFromSource); &RasterContainer::GetRasterInterpolateFromSource);
auto registration_ProfileProperties = context.state.new_usertype<ProfileProperties>( context.state.new_usertype<ProfileProperties>(
"ProfileProperties", "ProfileProperties",
"traffic_signal_penalty", "traffic_signal_penalty",
sol::property(&ProfileProperties::GetTrafficSignalPenalty, sol::property(&ProfileProperties::GetTrafficSignalPenalty,
@ -583,7 +583,6 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
if (use_turn_restrictions != sol::nullopt) if (use_turn_restrictions != sol::nullopt)
context.properties.use_turn_restrictions = use_turn_restrictions.value(); context.properties.use_turn_restrictions = use_turn_restrictions.value();
// DEPRECATED: global left_hand_driving will be removed in the next profile API
sol::optional<bool> left_hand_driving = properties["left_hand_driving"]; sol::optional<bool> left_hand_driving = properties["left_hand_driving"];
if (left_hand_driving != sol::nullopt) if (left_hand_driving != sol::nullopt)
context.properties.left_hand_driving = left_hand_driving.value(); context.properties.left_hand_driving = left_hand_driving.value();