This Technical Concept is relevant to the following Services: xRoute. Please note that both calculateReachableLocations and calculateReachableAreas require a special license.
The xRoute function calculateReachableLocations calculates whether one or more locations can be reached from a waypointA waypoint is a geographic location used to specify start, destination and possible stopovers for a route. or from a routeA route corresponds to a path of a vehicle through the underlying transport network. The main attributes of a route are the distance and the time that the vehicle travels along the path. (or the other way around: route reachable from locations).
The xRoute function calculateReachableAreas calculates the areas which can be reached from a waypoint or from a route, within given horizons (or the other way around, from destination to start).
For both calculations, the PTV xRoute module does not take into account the airline distance but the distance by road network.
The dealer search is a common use case which needs the function calculateReachableLocations in order to detect the position of dealers within a given radius. The corridor search is an other use case, which consists in finding points (like gas stations) along a route.
The calculateReachableAreas function is designed for isolines calculation. isolines describe zones based on driving distance or travel time. The polygon returned by the calculateReachableAreas feature describes specifically this kind of zone.
The polygon returned by the reachableAreasResponse can be used for a geofencing use case. The geofencing define virtual geographical barriers around a geographical position. For example, an integrator can trigger alerts if a vehicleThe term vehicle describes what is being routed or planned for. Vehicles are used in route calculation, distance matrix calculation and effectively also in tour planning. In route calculation, vehicle properties like overall size, weight and speed are in focus. In tour planning, it is vehicle properties like capacity and availability. Commonly a vehicle is motorized, like a truck - including its trailer or a car. However also a bike or even a pedestrian are included in this definition. gets too far from its planned route.
The type of waypoint used determines the desired approach in the calculation of reachable locations. If a PathWaypoint is chosen, the engine triggers a corridor search using the encodedPath contained in the waypoint. For other types of waypoints, the engine triggers a dealer search around the geographical coordinates contained in the waypoint.
You can provide couple of options. Please note that ReachableLocationsOptions are required due to the Horizon parameter that user must fullfill.
From the location list sent by the user, the engine returns two tables:
Green markers are reached locations, as opposed to red markers that are unreached locations. Every reached green marker is within the polygon returned by the calculateReachableAreas operation.
The type of waypoint used determines the desired approach in the calculation of reachable areas. If a PathWaypoint is chosen, the engine triggers a corridor search using the encodedPath contained in the waypoint. For other types of waypoints, the engine triggers a dealer search around the geographical coordinates contained in the waypoint.
The user can specify ReachableAreasResultFields to specify what should be returned in the response. This way, the user can request ReachableAreasSegment with ReachableAreasSegmentResultFields. Retrieved segments can contain:
The content of the response depends on the ReachableAreasResultFields of the request. The response may contain :
Multiples horizons can be requested and received in the same response. On the figure above, there are three colored polygons corresponding to each horizons.
Polyline of reached segments can be retrieved and displayed on a heatmap to see the accumulated traveltime and distance of each segments.
In case of a PathWaypoint, the returned distance is the distance to the nearest node.
The predecessor index of a segment is the index of the predecessor segment in the segments array. The predecessor indicates the segment that was reached before during the computation. If the segment has no predecessors (ie the predecessor was either the entry waypoint or on the path in case of a PathWaypoint), the predecessor index will be -1.
The results obtained by isoline calculation with the calculateReachableAreas function will be the same as those obtained with the calculateReachableLocations function. For example, a RouteLocation reached by dealer or corridor search will be within the polygon returned in the ReachableLocationsResponse. However, some locations close to the polygon border may be unreached even if they belong to the polygon due to an approximation used during the polygon calculation.
Reachable segments ids can be used to create a custom feature layer. For example, a user can block all segments within 10 minutes by road of a certain position, requesting segments ids in a calculateReachableAreas request in use them to create a custom feature layer.
ReachableAreasSegment can only be retrieved with calculationMode QUALITY.
SearchSpaceBounds can't be used together with calculate reachable area or reachable locations and will result in a InvalidValueFault. The user can still clip the returned polygon with his own data and methods.
Horizon values cannot exceed a certain threshold defined in the server configuration. Distance-based horizon must have a lower value than the one defined in xroute.reachability.maximumDistanceHorizon. Travel-time-based horizon must have a lower value than the one defined in xroute.reachability.maximumTravelTimeHorizon.
Additional server restrictions (number of horizons, horizon values, path length) are applied when using a PathWaypoint. Those restrictions are defined in xroute.reachability.pathWaypointPolygon.
Additional server restrictions (number of horizons, horizon values, path length) are applied when requesting ReachableAreasSegment. Those restrictions are defined in xroute.reachability.reachableSegments.
Segments retrieval come along with performance losses and response size increase.
Showcase | Calculate Reachable Locations |
Showcase | Calculate Reachable Areas |
Showcase | Consider Reachable Area Inner Segments |
Integration sample | Calculating reachable locations and areas |