xroute
XRoute Operations
SOAP/JSON
Synchronous API
since 2.0
Operation Name | Request Type | Response Type | Since | Description |
---|---|---|---|---|
calculateRoute | RouteRequest | RouteResponse | 2.0 | Calculates and returns route information. |
calculateReachableAreas | ReachableAreasRequest | ReachableAreasResponse | 2.18 | Calculate the areas which can be reached from a location within given horizons. This operation requires a special license. |
calculateReachableLocations | ReachableLocationsRequest | ReachableLocationsResponse | 2.21 | Calculates the locations that can be reached from a waypoint within a given horizon. |
getProfile | ProfileRequest | ProfileResponse | 2.25 | Returns the effective profile specified by the stored and the request profile. If no request profile is specified, the response contains the complete contents of the stored profile. |
SOAP/JSON
Asynchronous API
since 2.0
Operation Name | Request Type | Response Type | Since | Description |
---|---|---|---|---|
startCalculateRoute | RouteRequest | Job | 2.0 | This is the asynchronous version of calculateRoute. Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchRouteResponse. If the job ended with status FAILED, fetchRouteResponse throws the exception that occurred during calculation. |
startCalculateReachableAreas | ReachableAreasRequest | Job | 2.18 | This is the asynchronous version of calculateReachableAreas. Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchReachableAreasResponse. If the job ended with status FAILED, fetchReachableAreasResponse throws the exception that occurred during calculation. |
startCalculateReachableLocations | ReachableLocationsRequest | Job | 2.21 | This is the asynchronous version of calculateReachableLocations. Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchReachableLocationsResponse. If the job ended with status FAILED, fetchReachableLocationsResponse throws the exception that occurred during calculation. |
fetchReachableAreasResponse | JobRequest | ReachableAreasResponse | 2.18 | Fetches results of type ReachableAreasResponse for the given job. If the calculation ended with an exception, fetchReachableAreasResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown. |
fetchReachableLocationsResponse | JobRequest | ReachableLocationsResponse | 2.21 | Fetches results of type ReachableLocationsResponse for the given job. If the calculation ended with an exception, fetchReachableLocationsResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown. |
fetchRouteResponse | JobRequest | RouteResponse | 2.0 | Fetches results of type RouteResponse for the given job. If the calculation ended with an exception, fetchRouteResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown. |
watchJob | WatchRequest | Job | 2.0 | Returns the status of the given job. This operation behaves exactly like the watchJob operation of the xRuntime service. |
stopJob | JobRequest | Job | 2.0 | Attempts to stop a running job. If the status of the job changes to SUCCEEDED, preliminary results can be fetched, if available. This operation behaves exactly like the stopJob operation of the xRuntime service. |
deleteJob | JobRequest | Job | 2.0 | Attempts to delete a running job. If successful, the returned job will have state DELETED. This operation behaves exactly like the deleteJob operation of the xRuntime service. |
REST
route
URL format: /services/rest/XRoute/2.34/route/{startX}/{startY}/{destinationX}/{destinationY}
since 2.14
Calculates a route from start to destination and returns route information. This operation supports exactly two on-road waypoints.
Path Parameter Name | Type | Since | Description |
---|---|---|---|
startX | double | 2.14 | The longitude in WGS84 (EPSG:4326) of the start location. The location is interpreted as an OnRoadRouteLocation. |
startY | double | 2.14 | The latitude in WGS84 (EPSG:4326) of the start location. The location is interpreted as an OnRoadRouteLocation. |
destinationX | double | 2.14 | The longitude in WGS84 (EPSG:4326) of the destination location. The location is interpreted as an OnRoadRouteLocation. |
destinationY | double | 2.14 | The latitude in WGS84 (EPSG:4326) of the destination location. The location is interpreted as an OnRoadRouteLocation. |
Query Parameter Name | Type | Default | Since | Description |
---|---|---|---|---|
storedProfile | Url (String) | default | 2.14 | The name of the stored profile to use without its extension, e.g. bicycle . The corresponding file bicycle.xml must be available in the folder conf/profiles . Parent profiles must be located in the same folder. |
polyline | Boolean | false | 2.14 | Specifies if the RouteResponse.polyline shall be returned for the complete route. |
themeIds | ThemeId[] (String[]) | - | 2.14 | A comma-separated list of Feature Layer theme IDs which will be considered. If this parameter is specified, themes enabled in the stored profile are ignored. These themes can be any of the supported Feature Layer themes, such as PTV_TruckAttributes . If this parameter is not present, the themes defined by the stored profile are used. A trailing comma is permitted. For more information see Calculating the Best Route for Rush Hour Traffic and Considering Long-term Blockings. |
preferredRouteTypes | CommaSeparatedListValue[] (String[]) | - | 2.14 | The road networks to be preferred by the routing algorithm as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requestedthrough the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'preferredRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. If this parameter is not present, all types of PTV_PreferredRoutes are displayed. |
timeConsideration | TimeConsiderationScenario | TimeConsideration ... | 2.14 | Specifies how to evaluate Feature Layer attributes which contain time restrictions. For time consideration scenario NONE the parameters for reference time and timespan are not evaluated. For SNAPSHOT , TIME_SPAN , EXACT_TIME_AT_START and EXACT_TIME_AT_ARRIVAL the reference time is required. The time span is needed for the TIME_SPAN scenarios. For detailed information about time consideration scenarios see time consideration. |
referenceTime | XMLGregorianCalendar | - | 2.14 | The reference time at which Feature Layer attributes with time restrictions will be evaluated. The time format either has to conform to the notation of xs:dateTime such as 2015-12-24T12:00:00+01:00, or it has to be a datetime sequence without any delimiters nor time zone specification such as 20151224T120000. If the time-zone offset is missing, the corresponding service tries to detect it by means of information available in the calling context. A detailed description of this behavior can be found in the technical concept time zones. It is recommended to always specify the time zone. If no reference time is set, the current UTC time is used. |
timeSpan | TimeSpanDuration (Double) | 86400.0 | 2.14 | The duration of time (in combination with reference time as start) at which Feature Layer attributes with time restrictions will be evaluated, defined in [s]. The value is rounded to whole seconds. |
contentSnapshotId | String | - | 2.14 | Specifies the content snapshot to use. If no snapshot ID is set, the most recent content is used. |
Response Type | Description |
---|---|
RouteResponse | Response object. |
XServerException | Default exception for all xServer operations. See subtypes of XServerFault for details. |
Types
Contains basic information about an alternative route for the current route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
distance | Distance (double) | yes | - | 2.20 | The distance of the complete route. |
travelTime | Duration (double) | yes | - | 2.20 | The travel time for the complete route. |
trafficDelay | Duration (Double) | no | - | 2.26 |
The total delay due to traffic incidents (traffic jams, construction sites etc.) on the route. For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes. This value contains the sum of all traffic events on this alterative route and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used. |
violated | boolean | yes | - | 2.20 | If set to true, indicates that this route contains a violation for the chosen vehicle. |
encodedPath | EncodedContent (String) | no | - | 2.20 | The encoded string describing the complete path of the calculated route. Use this string as an input of another route request to calculate the same route with different parameters. It is only returned if requested by ResultFields.encodedPath. |
polyline | EncodedGeometry | no | - | 2.20 | The polyline of the complete alternative route. This polyline consists of all coordinates representing the alternative route and can be used to draw the route into a map. It is only returned if requested by ResultFields.polyline. |
providerIds | String[] | 0..* | - | (2.25) | The provider ids of the complete alternative route. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
This event indicates the entering or exiting of a combined transport.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
combinedTransportId | SegmentId (String) | no | - | 2.20 | The ID of the combined transport. |
combinedTransportName | String | no | - | 2.20 | The name of the combined transport. |
combinedTransportType | CombinedTransportType | no | - | 2.20 | The type of the combined transport. |
accessType | AccessType | no | - | 2.20 | Indicates the ENTERing or EXITing of a combined transport. |
relatedEventIndex | Index (Integer) | no | - | 2.20 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. |
Specifies an input waypoint in order to force to use this combined transport on the route. There is no output waypoint and there is no leg that ends at this waypoint. This waypoint cannot be used as first or last input waypoint.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
combinedTransportId | SegmentId (String) | yes | - | 2.20 | The internal ID of the combined transport that the route shall pass through. Can be retrieved using xdata/getSegments operations. |
Defines the consumption values of the vehicle that can be changed at waypoints. These parameters are only relevant if the driveType is MOTOR_VEHICLE.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
fuelConsumption | EnergyConsumption (Double) | no | - | 2.27 | The fuel consumption for engine type COMBUSTION and HYBRID [l/100km or kg/100km]. (1,3) |
electricityConsumption | EnergyConsumption (Double) | no | - | 2.27 | The electricity consumption for engine type ELECTRIC and HYBRID [kWh/100km]. (1,3) |
consumptionFactorsPerSpeed | ConsumptionFactorAtSpeed[] | 0..* | - | 2.27 | The consumption factors relative to Engine.fuelConsumption and Engine.electricityConsumption of the engine at different speeds (1). It is used for monetary cost optimized routing to assign energy costs to road segments in the following way:
|
Specifies monetary costs in a certain currency that apply in a certain country.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
country | CountryCode (String) | no | - | 2.21 | The country in which the cost has to be paid. |
cost | Cost | no | - | 2.21 | The amount that has to be paid in the local currency of the country. |
convertedCost | Cost | no | - | 2.21 | The amount that has to be paid converted to the specified currency. It is only returned if a currency is specified in the route options. It is still returned in case the requested currency and the local currency of the country are the same. |
This event indicates that a border of a country or a subdivision is crossed by the route, i.e. the current country code changes. As this object contains only the country which is entered, consider the previous CountryEvent to obtain the code of the country or subdivision which is left. To obtain the country in which the route starts, there is always an event for the start of the route. If only borders between countries are needed, ignore those events for which only the subdivision code changes, e.g. US-GA and US-FL.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
country | CountryCode (String) | no | - | 2.13 | The code of the country or subdivision the route enters. |
This event indicates entering or exiting a road prohibited except for delivery vehicles.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
accessType | AccessType | no | - | 2.34 | Indicates entering or exiting such roads. |
relatedEventIndex | Index (Integer) | no | - | 2.34 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise. |
Specifies the options to calculate the estimated time of arrival. A PathWaypoint is needed to use this feature.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
vehiclePosition | VehiclePosition | yes | - | 2.21 | Position of the vehicle. |
Represents the summary of a route which has been calculated using the ETACalculationOptions.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
newRoute | Boolean | no | false | 2.21 | If set to true, indicates that the route has been recalculated, ignoring the given PathWaypoint. |
travelTimeExceeded | Boolean | no | false | 2.21 | If set to true, indicates that the travel time of a segment has been recalculated because it exceeded 2h30. |
The attributes for calculating CEN or factor-based emissions. The response element contains only those scenarios for which the corresponding request parameter is set.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
fleetSpecificAverageFuelConsumption | EnergyConsumption (Double) | no | - | 2.0 | The average fuel consumption for a fleet in [l/100km] for liquid fuel types or [kg/100km] for gaseous fuel types like COMPRESSED_NATURAL_GAS. |
fleetSpecificAverageElectricityConsumption | EnergyConsumption (Double) | no | - | 2.27 | The average electricity consumption for a fleet in [kWh/100km] for electric/hybrid vehicles. |
routeSpecificAverageFuelConsumption | EnergyConsumption (Double) | no | - | 2.0 | The average fuel consumption for a specific type of route in [l/100km] for liquid fuel types or [kg/100km] for gaseous fuel types like COMPRESSED_NATURAL_GAS. |
routeSpecificAverageElectricityConsumption | EnergyConsumption (Double) | no | - | 2.27 | The average electricicty consumption for a specific type of route in [kWh/100km] for electric/hybrid vehicles. |
actualFuelConsumptionForThisRoute | EnergyConsumption (Double) | no | - | 2.0 | The actual fuel consumption for this route in [l] for liquid fuel types or [kg] for gaseous fuel types like COMPRESSED_NATURAL_GAS. |
actualElectricityConsumptionForThisRoute | EnergyConsumption (Double) | no | - | 2.27 | The actual electricity consumption for this route in [kWh] for electric/hybrid vehicles. |
This result limitation indicates that elevations could not be calculated for the route or at least parts of it. The z-coordinate of the points where the elevations could not be calculated is 0. By default the coverage of elevations data is between +60° and -60° latitude.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
routePolylineIndices | IndexInterval[] | 0..* | - | 2.0 |
The intervals of the RouteResponse.polyline for which elevations are not available. The list is only populated if the polyline for the whole route was requested by ResultFields.polyline. |
segmentPolylineIndices | IndexPairInterval[] | 0..* | - | 2.0 |
The intervals of the Segment.polyline for which elevations are not available. IndexPair.first denotes the index of the segment where the interval starts/ends. IndexPair.second denotes the index of the polypoint for the segment where the interval starts/ends. The list is only populated if segments were requested by ResultFields.segments. |
legPolylineIndices | IndexPairInterval[] | 0..* | - | 2.0 |
The intervals of the Leg.polyline for which elevations are not available. IndexPair.first denotes the index of the leg where the interval starts/ends. IndexPair.second denotes the index of the polypoint for the leg where the interval starts/ends. The list is only populated if legs were requested by ResultFields.legs. |
elevationsDataAvailable | boolean | yes | - | 2.0 | Specifies whether elevation data are available at all. If true, the route is beyond the limits of the data, otherwise elevations could not be calculated, at all. |
The emissions for different fuel consumption scenarios. Only those scenarios will be returned for which the corresponding request parameter is set.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
valueScenarios | EmissionValueScenario[] | 0..* | - | 2.0 | The list of Emission scenarios. |
This result limitation indicates that PositionEnRoute linking to the road network has ignored specified heading. This happens if it is not possible to find a road, near the vehicle, that satisfy the defined heading.
No fields defined. |
This result limitation indicates that PositionEnRoute linking to the road network has ignored specified heading tolerance. This happens if no heading has been provided.
No fields defined. |
InputWaypoint (abstract)
extended by CombinedTransportViaWaypoint, ManipulateRouteWaypoint, MultiCoordinateOnRoadWaypoint, OffRoadWaypoint, OnRoadWaypoint, PathWaypoint
used by ReachableAreasRequest, ReachableLocationsRequest, RouteRequest
since 2.0
Base for all waypoint types that can be provided as input in a RouteRequest.
A leg is defined by a start- and an end-waypoint and the segment (s) between them. It is guaranteed that a leg consists of at least one segment. It is also guaranteed that the leg of index n connects waypoints of indices n and n+1, i.e. the number of response waypoints equals the number of the list of legs plus 1.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
startWaypointName | String | no | - | 2.10 | The name of the start waypoint of the leg. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set. |
endWaypointName | String | no | - | 2.10 | The name of the end waypoint of the leg. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set. |
startSegmentIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.segments of the start segment of the leg. It is available only if the list of segments is requested by ResultFields.segments. |
endSegmentIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.segments of the end segment of the leg. It is available only if the list of segments is requested by ResultFields.segments. |
startNodeIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.nodes of the start node of the leg. It is available only if the list of nodes is requested by ResultFields.nodes. |
endNodeIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.nodes of the end node of the leg. It is available only if the list of nodes is requested by ResultFields.nodes. |
startTollSectionIndex | Index (Integer) | no | - | 2.16 | The index in the list of Toll.sections of the first toll section of the leg. It is available only if the toll sections are requested in ResultFields.toll and if there is at least one toll section for the leg. |
endTollSectionIndex | Index (Integer) | no | - | 2.16 | The index in the list of Toll.sections of the last toll section of the leg. It is available only if the toll sections are requested in ResultFields.toll and if there is at least one toll section for the leg. |
distance | Distance (double) | yes | - | 2.0 | The travel distance for the leg. It is the sum of distances of all segments in the leg and hence is a whole number without decimal places (see Segment.distance). |
travelTime | Duration (double) | yes | - | 2.0 | The travel time for the leg. It is the sum of travel times of all segments in the leg and hence has up to three decimal places (see Segment.travelTime). |
trafficDelay | Duration (Double) | no | - | 2.26 |
The total delay due to traffic incidents (traffic jams, construction sites etc.) on the leg. For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes. This value contains the sum of all traffic events on this leg and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used. |
tollSummary | TollSummary | no | - | 2.10 | The toll summary for the leg. The toll summary is only populated if requested by LegResultFields.tollSummary. |
emissions | Emissions | no | - | 2.0 |
The emissions along the route. |
polyline | EncodedGeometry | no | - | 2.0 |
The polyline of the leg. This polyline consists of all coordinates representing the leg and can be used to draw the leg onto a map. It is available only if requested by LegResultFields.polyline and it contains elevations only if requested by PolylineOptions.elevations. If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered. |
providerIds | String[] | 0..* | - | (2.25) | The provider ids of the leg. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
violated | boolean | yes | - | 2.0 | If set to true, indicates that this leg contains a violation for the chosen vehicle. |
Specifies if and to what extent the legs shall be returned for the complete route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
enabled | Boolean | no | false | 2.0 | Specifies if the legs shall be returned for the complete route. |
polyline | Boolean | no | false | 2.0 | Specifies if the legs shall contain the polyline. |
tollSummary | Boolean | no | false | 2.10 | Specifies if the legs shall contain the toll summary. |
emissions | Boolean | no | false | 2.0 | Specifies if the legs shall contain the emissions. |
providerIds | Boolean | no | false | (2.25) | Specifies if the legs shall contain the providerIds. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
This event indicates entering or exiting a low emission zone.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
name | String | yes | - | 2.32 | The name of the low emission zone. |
accessType | AccessType | no | - | 2.32 | Indicates how a range of segments with the same low-emission zone is accessed. |
relatedEventIndex | Index (Integer) | no | - | 2.32 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise. |
This event provides directions for the driver. A single event gives information on the maneuver to execute. The RequestProfile.mapLanguage will not be considered, geographical names such as road names are always given in the local language.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
maneuverType | ManeuverType | no | - | 2.13 | The high-level type of the current maneuver, e.g. turning or entering / exiting a highway. |
relativeDirection | RelativeDirection (Integer) | no | - | 2.13 | The direction of the outgoing road relative to continuing in the same direction as the incoming road (clockwise). |
absoluteDirection | AbsoluteDirectionInteger (Integer) | no | - | 2.13 | The absolute direction of the outgoing road (clockwise). North represents 0 degrees. |
directionDescription | String | no | - | 2.13 | A descriptive text for the current maneuver. The language can be specified by RequestProfile.userLanguage. The RequestProfile.mapLanguage will not be considered, geographical names such as road names are always given in the local language. |
directionDescriptionLanguage | LanguageCode (String) | no | - | 2.13 | The language of the direction description. It is only populated if different from the requested RequestProfile.userLanguage. |
roadAhead | RoadDescriptor | no | - | 2.13 | The description of the road to which the current maneuver finally leads. This is not necessarily the name of the road segment right after the maneuver. Especially when exiting a highway there are ramps or distributor roads which do not have a description. This field is not present if there is no road description available (usually for the very last maneuver). |
directionSignText | String | no | - | 2.13 | The city names and road numbers on a signpost at the current location to follow for the current maneuver. Empty if no signpost is present or the data is not available. |
exitNumber | String | no | - | 2.13 | The number of an exit or interchange of a highway or a freeway-like road. Only present if the maneuver type is CHANGE or EXIT. Empty if the data does not contain an exit number. |
exitName | String | no | - | 2.13 | The name of an exit or interchange of a highway or a freeway-like road. Only present if the maneuver type is CHANGE or EXIT. Empty if the data does not contain an exit name. |
roundaboutExit | PositiveInteger (Integer) | no | - | 2.13 | The exit number at a roundabout. Only drivable roads are counted. Only present if the maneuver type is TAKE_ROUNDABOUT. |
combinedTransportName | String | no | - | 2.13 | The name of the combined transport to take a the current location. Only present if the maneuver type is TAKE_COMBINED_TRANSPORT. |
combinedTransportType | CombinedTransportType | no | - | 2.13 | The type of the combined transport to take a the current location. Only present if the maneuver type is TAKE_COMBINED_TRANSPORT. |
crossingRoadName | String | no | - | 2.13 | The name of the crossing road at which a U-turn has to be made. Only present if the maneuver type is MAKE_U_TURN and if the U-turn takes place at a crossing. |
Specifies an input waypoint in order to manipulate the course of the route. There is no output waypoint and there is no leg that ends at this waypoint. The route passes near the specified coordinate. This waypoint cannot be used as first or last input waypoint.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
coordinate | Coordinate | yes | - | 2.20 | The coordinate that the route shall pass by. |
radius | Distance (double) | yes | - | 2.20 | A radius that specifies how close the route shall pass by the specified coordinate. This radius refers to the distance on the road network in meters. |
Contains the monetary costs of a route in the specified currency.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
totalCost | Double | no | - | 2.21 | The total monetary cost of the route. |
distanceCost | Double | no | - | 2.21 | The distance cost based on MonetaryCostOptions.costPerKilometer. |
workingTimeCost | Double | no | - | 2.21 | The working time cost based on MonetaryCostOptions.workingCostPerHour. |
energyCost | Double | no | - | 2.27 | The energy cost based on MonetaryCostOptions.costPerFuelUnit, MonetaryCostOptions.costPerElectricityUnit, Engine.consumptionFactorsPerSpeed, Engine.fuelConsumption and Engine.electricityConsumption. |
tollCost | Double | no | - | 2.21 | The toll cost based on the route and the vehicle. Toll prices do not include VAT. |
Specifies an input waypoint as a list of coordinates. It is similar to an on-road waypoint but can have multiple coordinates. For example, the destination of a route can consist of different entries to a certain parking area. The resulting route will end at one of the entries. This waypoint can be used only as first or last waypoint of a route request.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
coordinates | Coordinate[] | 1..* | - | 2.19 | Specifies the coordinates for the waypoint. At least one coordinate must be given. A route actually reaches only the nearest road of one of the given coordinates, and the coordinates are not linked to the road by a segment of type SegmentType.LINK_SEGMENT. |
vehicleParameters | VehicleParametersAtWaypoint | no | - | 2.27 | Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint. For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints. The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint. |
Represents a real or virtual node along a route. See NodeType for the possible types.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
coordinate | Coordinate | yes | - | 2.0 | Location of the node. It never contains the z-coordinate, refer to the polyline instead to obtain the z-coordinate. |
type | NodeType | yes | - | 2.0 | Type of the node (e.g. NodeType.NETWORK_NODE). |
eventIndices | Index[] (Integer[]) | 0..* | - | 2.14 | The list of indices in the RouteResponse.events list containing all route events which occur at this node. An event may be present in consecutive nodes if it covers a sequence of nodes. The list is only populated if route events are requested by ResultFields.eventTypes. |
polylineIndex | Index (Integer) | no | - | 2.0 | Index of the polyline point corresponding to this node in RouteResponse.polyline. Only available if a polyline is requested using ResultFields.polyline. |
violated | Boolean | no | - | 2.14 | If set to true, indicates that this node contains a violation for the chosen vehicle. |
Specifies an input waypoint based on an OffRoadRouteLocation. There is a corresponding Waypoint in the route response, and a route leg starts or ends at that waypoint. In case the nearest road cannot be reached due to road restrictions for the specified vehicle a result limitation will be returned. See waypoints documentation for details.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
location | OffRoadRouteLocation | yes | - | 2.0 | Specifies the route location for this waypoint. The given OffRoadRouteLocation.offRoadCoordinate is part of the route polyline. A route actually reaches this coordinate and is connected to the road network by a segment of type SegmentType.LINK_SEGMENT. The OffRoadRouteLocation.roadAccessCoordinate is usually not part of the route polyline, as it is only used to find the proper road to link to. |
tourStopOptions | TourStopOptions | no | - | 2.16 | The logistic information on a waypoint. |
vehicleParameters | VehicleParametersAtWaypoint | no | - | 2.27 | Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint. For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints. The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint. |
Specifies an input waypoint based on an OnRoadRouteLocation. There is a corresponding waypoint in the route response, and a route leg starts or ends on the nearest road. There is no SegmentType.LINK_SEGMENT. See waypoints documentation for details.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
location | OnRoadRouteLocation | yes | - | 2.0 | Specifies the route location for this waypoint. If the given OnRoadRouteLocation.coordinate is off the road this location itself is not part of the route, its polyline nor the route totals. A route actually reaches only the nearest road, and the coordinate is not linked to the road by a segment of type SegmentType.LINK_SEGMENT. |
tourStopOptions | TourStopOptions | no | - | 2.16 | The logistic information on a waypoint. |
vehicleParameters | VehicleParametersAtWaypoint | no | - | 2.27 | Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint. For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints. The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint. |
Specifies a complete path as a part of the final route. This path contains information on all waypoints and the course of the route. This comprises the waypoint names. Assigning a name to this instance will overwrite the original waypoint names.
Limitation: Only one path waypoint can be specified as input waypoint, and a path waypoint can not be mixed with other input waypoints.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
encodedPath | EncodedContent (String) | yes | - | 2.20 | Encoded string describing a complete route. Use this parameter to calculate information on a previously calculated route. Limitation: The encoded path must have been created using the same map and xServer version. |
Specifies how the polyline shall be calculated.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
elevations | Boolean | no | false | 2.0 | If true, the polyline will contain the elevations, i.e. each Coordinate will contain the z-coordinate. This setting applies to all requested polylines, e.g. complete route, legs, and segments. If elevation data are not available, the z-coordinate is 0, and there is an ElevationsNotAvailableLimitation which contains the indices of the polyline with a missing z-coordinate. |
The vehicle is located on a waypoint. In this use case, it is required to specify the status of the service.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
waypointIndex | Index (int) | yes | - | 2.21 | Zero based index of the current waypoint in the route. |
serviceStatus | ServiceStatus | yes | - | 2.21 | Specifies if service has not started yet, if service is currently being performed or if service is completed. |
The vehicle is located on the route, between 2 waypoints. In this use case, xroute will use the vehicle's coordinates to find the nearest position on the path, and recalculate the route from this position. If the vehicle is too far from the path, a complete route calculation is performed, starting from the current position of the vehicle.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
currentLocation | Coordinate | yes | - | 2.21 | Current geographic location of the vehicle. The route is recalculated from this position. The part of the path before is ignored. |
indexOfNextWaypoint | Index (int) | yes | - | 2.21 | Zero based index of the next waypoint of the route. |
heading | AbsoluteDirectionInteger (Integer) | no | - | 2.21 | The absolute direction of the vehicle. North represents 0 degrees. For more information, pleaser refer to the technical concept Estimated Time of Arrival. |
headingTolerance | DirectionToleranceInteger (Integer) | no | 45 | 2.21 | The tolerance around the heading direction of the vehicle, i.e. roads with a direction of heading±headingTolerance are taken into account. |
Specifies the profile to be returned.
No fields defined. |
Contains the effective profile.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
vehicleProfile | VehicleProfile | no | - | 2.25 | The vehicle profile. |
featureLayerProfile | FeatureLayerProfile | no | - | 2.25 | The Feature Layer profile. |
routingProfile | RoutingProfile | no | - | 2.25 | The routing profile. |
mapLanguage | LanguageCode (String) | no | - | 2.25 | The language used for geographic names that are part of the map. The default x-ptv-DFT means that names are given in the language spoken in that country or region. |
userLanguage | LanguageCode (String) | no | - | 2.25 | The language of texts such as maneuver or traffic-incident descriptions. If the specified language is not supported, the following fallback languages are used: First, if subtags are present, the primary language is used. Second, English is used. As an example pt-BR ? pt ? en. The language of geographic names can be set by the field mapLanguage. As an example the description of a maneuver should be readable by the user but city names which can be found on local signs should be available in that language in order to be recognized. |
Specifies the options for a reachable areas calculation.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
horizons | Horizon[] | 1..* | - | 2.18 | The reachability of an area is defined by one or more horizons either by travel time or by distance. If there are no roads within the horizon, the resulting polygon will be empty. If more than one horizon is specified, they have all to be either by travel time or by distance. Furthermore, the values have to be in an ascending order. Otherwise an InvalidValueFault is thrown. The maximum values for distance-based and travel-time-based horizons can be configured in Server Configuration. By default the calculation is limited to 200 km or 2 hours. |
calculationMode | ReachableAreasCalculationMode | no | ReachableAreasCal ... | 2.18 | Defines the focus of the algorithm, either quality or performance. |
drivingDirection | ReachableAreasDrivingDirection | no | ReachableAreasDri ... | 2.18 | Defines whether to calculate the areas which can be reached from the location within the horizons or to calculate the areas from which the location can be reached within the horizons. If exact time consideration is used, use OUTBOUND only with ExactTimeConsiderationAtStart and INBOUND only with ExactTimeConsiderationAtArrival. Otherwise a ParameterConflictFault is thrown. |
timeConsideration | TimeConsideration | no | - | 2.18 | Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual. |
contentSnapshotId | String | no | - | 2.18 | Speficies the content snapshot to use. If no snapshot ID is set, the latest content is used. |
geographicRestrictions | GeographicRestrictions | no | - | 2.19 | Specifies geographic restrictions that are considered during the reachable areas calculation. |
Specifies the parameters of a reachable areas calculation. The sideOfStreetRestriction will be ignored with any of the given waypoints, a SideOfStreetRestrictionIgnoredLimitation will be returned in that case. The parameter for violations will be ignored and behaves as if violations are turned off.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
location | RouteLocation | no | - | 2.18 | The start or destination location. Deprecated: Please use the attribute waypoint offering more possibilities. |
waypoint | InputWaypoint | no | - | 2.22 | The start or destination waypoint. Only the types OffRoadWaypoint, OnRoadWaypoint and PathWaypoint are supported. |
reachableAreasOptions | ReachableAreasOptions | yes | - | 2.18 | The options for the calculation. |
reachableAreasResultFields | ReachableAreasResultFields | no | - | 2.23 | Specifies which fields of the ReachableAreasResponse shall be returned. ReachableAreasResponse.segments can only be retrieved using ReachableAreasOptions.calculationMode QUALITY. |
Contains the result of the calculation of reachable areas for every given horizon.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
polygons | EncodedGeometry[] | 0..* | - | 2.18 |
The polygons which represent the reachable areas. For each horizon there is a separate polygon at the same index. If there are no roads within the horizon, the resulting polygon will be empty. In particular, this is the case if the distance or travel time from the location to the next road segment is greater than the horizon when using an OffRoadRouteLocation. |
segments | ReachableAreasSegment[] | 0..* | - | 2.23 |
The consecutive list of all visited segments along the route. The list of segments is only populated if requested by ReachableAreasResultFields.segments. |
Specifies which fields of the ReachableAreasResponse shall be returned
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
segments | ReachableAreasSegmentResultFields | no | - | 2.23 | Specifies if and to what extent the ReachableAreasResponse.segments shall be returned. ReachableAreasResponse.segments can only be retrieved using ReachableAreasOptions.calculationMode QUALITY. |
polygons | Boolean | no | true | 2.23 | Specifies if ReachableAreasResponse.polygons shall be returned. |
A simplified version of a segment, returned by ReachableAreasResponse.segments.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
distance | Distance (double) | yes | - | 2.23 | The accumulated distance of the segment during reachable areas calculation. |
travelTime | Duration (double) | yes | - | 2.23 | The accumulated travel time of the segment during reachable areas calculation. |
polyline | EncodedGeometry | no | - | 2.23 | The polyline of the segment. |
id | SegmentId (String) | no | - | 2.23 | The id of the segment. |
predecessorIndex | Index (Integer) | no | - | 2.23 | The index of the predecessor segment. Returns -1 if segment has no predecessor. |
Specifies if and to what extent the ReachableAreasResponse.segments shall be returned.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
enabled | Boolean | no | false | 2.23 | Specifies if ReachableAreasResponse.segments shall be returned. |
polyline | Boolean | no | false | 2.23 | Specifies if the segments shall contain the polyline. |
id | Boolean | no | false | 2.23 | Specifies if the segments shall contain the ID. |
predecessorIndex | Boolean | no | false | 2.23 | Specifies if the segments shall contain the predecessor segment index. |
Contains the distance and travel time from the input waypoint to a reached location or vice versa (depending on the request search type).
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
distance | Distance (Double) | no | - | 2.21 | The distance from the input waypoint to this location or vice versa. |
travelTime | Duration (Double) | no | - | 2.21 | The travel time from the input waypoint to this location or vice versa. |
inputLocationIndex | Index (Integer) | no | - | 2.21 | The index of the reached input location. |
Specifies the options of a reachability request.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
horizon | Horizon | yes | - | 2.21 | Specifies the maximum horizon either by travel time or by distance in which the locations should be reached. The maximum values for distance-based and travel-time-based horizons can be configured in Server Configuration. By default the calculation is limited to 200 km or 2 hours. |
searchType | ReachableLocationsSearchType | no | ReachableLocation ... | 2.21 | Specifies the search type to determine the reachable locations. |
timeConsideration | TimeConsideration | no | - | 2.21 | Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual. |
contentSnapshotId | String | no | - | 2.21 | Specifies the content snapshot to use. If no snapshot ID is set, the latest content is used. |
geographicRestrictions | GeographicRestrictions | no | - | 2.21 | Specifies geographic restrictions that are considered during the reachable locations calculation. |
Specifies the parameters of a reachable locations calculation. The sideOfStreetRestriction will be ignored with any of the given waypoints, a SideOfStreetRestrictionIgnoredLimitation will be returned in that case. The parameter for violations will be ignored and behaves as if violations are turned off.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
waypoint | InputWaypoint | yes | - | 2.21 | The waypoint from which the locations should be checked. Only the types OffRoadWaypoint, OnRoadWaypoint and PathWaypoint are supported. |
locations | RouteLocation[] | 1..* | - | 2.21 | Locations to be checked to be within the horizon. |
reachableLocationsOptions | ReachableLocationsOptions | yes | - | 2.21 | The options for the calculation. |
Contains the result of the reachability calculation.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
reachableLocations | ReachableLocation[] | 0..* | - | 2.21 | Reachable locations ordered by distance or travel time (depending on the request horizon type) |
unreachableLocations | Index[] (Integer[]) | 0..* | - | 2.21 | Indexes of the unreachable locations as given in the request locations |
Specifies which fields of the RouteResponse shall be returned.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
waypoints | Boolean | no | false | 2.0 | Specifies if the RouteResponse.waypoints shall be returned for the complete route. |
legs | LegResultFields | no | - | 2.0 | Specifies if and to what extent the RouteResponse.legs shall be returned for the complete route. |
segments | SegmentResultFields | no | - | 2.0 | Specifies if and to what extent the RouteResponse.segments shall be returned for the complete route. |
nodes | Boolean | no | false | 2.0 | Specifies if the RouteResponse.nodes shall be returned for the complete route. |
eventTypes | RouteEventType[] | 0..* | - | 2.13 | Specifies which RouteEvent types shall be returned for the complete route. |
polyline | Boolean | no | false | 2.0 | Specifies if the RouteResponse.polyline shall be returned for the complete route. In order to return the RouteResponse.polyline for legs and segments, enable LegResultFields.polyline and SegmentResultFields.polyline. In order to obtain the elevations for the RouteResponse.polyline, enable PolylineOptions.elevations in RouteOptions. |
toll | TollResultFields | no | - | 2.10 | Specifies if and to what extent the RouteResponse.toll shall be returned for the complete route. |
emissions | Boolean | no | false | 2.0 | Specifies if the RouteResponse.emissions shall be returned for the complete route. |
report | Boolean | no | false | 2.10 | Specifies if the RouteResponse.report shall be returned for the complete route. |
tourReport | Boolean | no | false | 2.16 | Specifies if the RouteResponse.tourReport shall be returned for the complete route. |
encodedPath | Boolean | no | false | 2.20 | Specifies if the RouteResponse.encodedPath shall be returned for the complete route. |
guidedNavigationRoute | Boolean | no | false | 2.13 |
Specifies if the RouteResponse.guidedNavigationRoute shall be returned for the complete route. |
monetaryCostsReport | Boolean | no | false | 2.21 | Specifies if the RouteResponse.monetaryCostsReport shall be returned for the complete route. If requested, it is required to specify a currency in the route options. |
alternativeRoutes | Boolean | no | false | 2.20 | Specifies if the RouteResponse.alternativeRoutes shall be returned. In addition to the optimal route up to three alternatives are returned. Note that sometimes no alternative routes are returned because possible alternatives are not considered as practical with regards to detour or sharing with the optimal route. Note that this is only supported with requests with exactly two input waypoints of types OnRoadWaypoint or OffRoadWaypoint, otherwise, an exception will be thrown. |
providerIds | Boolean | no | false | (2.25) | Specifies if the RouteResponse.providerIds shall be returned for the complete route. In order to return the RouteResponse.providerIds for legs and segments, enable LegResultFields.providerIds and SegmentResultFields.providerId. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
The descriptive attributes of a road
RouteEvent (abstract)
extended by CombinedTransportEvent, CountryEvent, DeliveryOnlyEvent, LowEmissionZoneEvent, ManeuverEvent, RouteViolationEvent, TollEvent, TourEvent, TrafficEvent, UTCOffsetEvent, WaypointEvent
used by RouteResponse
since 2.13
Base type for all route events which can appear in the RouteResponse. It contains information common to all event types. See the technical concept for more information.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
eventType | RouteEventType | no | - | 2.13 | The type of the current route event. |
startsAt | XMLGregorianCalendar | no | - | 2.13 | The point in time at which the event starts. This field is only present if a time-consideration scenario with a reference time is given in the request. The time zone is that of the reference time. Use the UTCOffsetEvent to derive the local time. |
coordinate | Coordinate | no | - | 2.13 | The location at which the event occurs. This coordinate is not necessarily the coordinate of the related node. The event such as a traffic incident can, for example, occur in the middle of a long segment. This coordinate is designed to draw an icon on a map to mark the event. |
nodeIndex | Index (Integer) | no | - | 2.13 | The index of the node in the RouteResponse.nodes list. As every segment starts at the node with the same index, it is also equal to the segment in the RouteResponse.segments list, if present, except for the very last index. This field is only present if the list of nodes is present. |
distanceFromStart | Distance (Double) | no | - | 2.13 | The distance of the route from the start up to this event. |
travelTimeFromStart | Duration (Double) | no | - | 2.13 | The travel time for the route from the start up to this event. |
Specifies how to calculate the route and how to fill the ResultFields which are enabled.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
timeConsideration | TimeConsideration | no | - | 2.1 | Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual. Please note that the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival are not applicable in combination with routing types RoutingType.HIGH_PERFORMANCE_ROUTING and RoutingType.HIGH_PERFORMANCE_ROUTING_WITH_FALLBACK_CONVENTIONAL and will result respectively in an exception and a result limitation. |
contentSnapshotId | String | no | - | 2.8 | Specifies the content snapshot to use. If no snapshot ID is set, the most recent content is used. |
highPerformanceRoutingNetworkId | String | no | - | 2.18 | Specifies the high-performance routing network to use. Besides, the routing type must be explicitly set to RoutingType.HIGH_PERFORMANCE_ROUTING otherwise a ParameterConflictFault is thrown. The profile and request parameters of the high-performance routing network are used for linking and routing. The stored profile of the RequestBase will be ignored. Throws a DataNotAvailableFault if the high-performance routing network with the given id does not exist. |
geographicRestrictions | GeographicRestrictions | no | - | 2.3 | Specifies geographic restrictions that are considered during the route calculation. |
polylineOptions | PolylineOptions | no | - | 2.0 | Specifies how the polyline shall be calculated. |
emissionOptions | EmissionOptions | no | - | 2.0 | Specifies what emissions shall be calculated. |
effectiveFuelConsumption | EffectiveFuelConsumption | no | - | 2.0 | Specifies the fuel consumption values. |
tollOptions | TollOptions | no | - | 2.21 | Specifies how the toll shall be calculated. |
routingType | RoutingType | no | RoutingType.CONVE ... | 2.10 | Strategy to decide if high-performance routing or conventional routing is used. For further explanation see the definition of RoutingType. |
tourRestrictions | TourRestrictions | no | - | 2.16 | Specifies how to calculate the tour information. |
calculationCriteria | RouteCalculationCriteria | no | RouteCalculationC ... | 2.21 | Specifies what the route calculation should optimize for. See the technical concept on route calculation for details. If the calculation criteria is set to MONETARY_COSTS, it is required to specify a currency in the route options. |
monetaryCostOptions | MonetaryCostOptions | no | - | 2.21 | Specifies how to calculate the monetary costs of a route. |
binaryFeatureLayer | EncodedContent (String) | no | - | 2.19 | Binary Feature Layer to be considered while calculating route. |
etaCalculationOptions | ETACalculationOptions | no | - | 2.21 | Specifies the options related to the calculation of the Estimated Time of Arrival (ETA). |
currency | CurrencyCode (String) | no | - | 2.20 | Specifies the currency for costs both in the request and the response. |
exchangeRates | ExchangeRates | no | - | 2.26 | Specifies the exchange rates that should be used for the toll price conversion to the target currency. |
drivingTimeFactor | DrivingTimeFactor (Double) | no | 1.0 | (2.34) | A factor with which to modify the driving time of the vehicle on each segment after the route has been calculated. Note the following effects and limitations:
This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
Represents the summary of a route which has been calculated.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
routingType | RoutingType | no | - | 2.10 | Strategy used in the route calculation (high-performance routing or conventional routing). For further explanation see the definition of RoutingType. |
Specifies the route to be calculated.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
waypoints | InputWaypoint[] | 1..* | - | 2.0 | List of waypoints to consider during routing. |
routeOptions | RouteOptions | no | - | 2.0 | Specifies how to calculate the route and how to fill the ResultFields which are enabled. |
resultFields | ResultFields | no | - | 2.0 | Specifies which fields of the RouteResponse shall be returned. |
Contains the result of a route request, i.e. the route and various result lists.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
distance | Distance (double) | yes | - | 2.0 | The distance of the complete route. It is the sum of distances of all segments and hence is a whole number without decimal places (see Segment.distance). It equals the sum of distances of all legs. |
travelTime | Duration (double) | yes | - | 2.0 | The travel time for the complete route. It is the sum of travel times of all segments and hence has up to three decimal places (see Segment.travelTime). It equals the sum of travel times of all legs. |
trafficDelay | Duration (Double) | no | - | 2.26 |
The total delay due to traffic incidents (traffic jams, construction sites etc.) on the route. For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes. This value contains the sum of all traffic events on the route and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used. |
waypoints | Waypoint[] | 0..* | - | 2.0 |
The consecutive list of all waypoints along the route. The list of waypoints is only populated if requested by ResultFields.waypoints. |
legs | Leg[] | 0..* | - | 2.0 |
The consecutive list of all legs of which the route consists. The list of legs is only populated if requested by ResultFields.legs. |
segments | Segment[] | 0..* | - | 2.0 |
The consecutive list of all visited segments along the route. Besides actual segments in the underlying routing network this includes virtual segments created when linking a user-provided coordinate into the routing network. The list of segments is only populated if requested by ResultFields.segments. |
nodes | Node[] | 0..* | - | 2.0 |
The consecutive list of all visited nodes along the route. Besides actual nodes in the underlying routing network this includes virtual nodes created when linking a user-provided coordinate into the routing network. The list of nodes is only populated if requested by ResultFields.nodes. |
events | RouteEvent[] | 0..* | - | 2.13 |
The consecutive list of all visited route events along the route. The list of route events is only populated if requested by ResultFields.eventTypes. |
polyline | EncodedGeometry | no | - | 2.0 |
The polyline of the complete route. This polyline consists of all coordinates representing the route and can be used to draw the route into a map. It is only returned if requested by ResultFields.polyline. It contains elevations only if requested by PolylineOptions.elevations. If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered. |
toll | Toll | no | - | 2.10 |
The toll information for the complete route. It is only returned if requested by ResultFields.toll. |
emissions | Emissions | no | - | 2.0 |
The emissions along the route. |
encodedPath | EncodedContent (String) | no | - | 2.20 | The encoded string describing the complete path of the calculated route. Use this string as an input of another route request to calculate the same route with different parameters. |
guidedNavigationRoute | byte[] | no | - | 2.13 |
A base64 encoded representation of the route that can be used for guided navigation. Calculating a guided navigation route requires maneuver events which have to be requested separately. The base64 binary has to be decoded and saved as text file and can then be imported in PTV Navigator and used for navigation. |
tourReport | TourReport | no | - | 2.16 | The report regarding the tour calculation. |
violated | boolean | yes | - | 2.0 | If set to true, indicates that this route contains a violation for the chosen vehicle. |
report | RouteReport | no | - | 2.10 |
The report regarding the route calculation. |
monetaryCostsReport | MonetaryCostsReport | no | - | 2.21 | The monetary costs of the route. They are only returned if requested by ResultFields.monetaryCostsReport. |
etaCalculationReport | ETACalculationReport | no | - | 2.21 | The report regarding the calculation of the estimated time of arrival. |
alternativeRoutes | AlternativeRoute[] | 0..* | - | 2.20 | The alternative routes to the current route, in best to worst order. |
providerIds | String[] | 0..* | - | (2.25) | The provider ids of the route. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
This event indicates the entering or exiting of an area where passing with the current vehicle is prohibited, but inevitable to find a route at all. The corresponding segments or nodes have the violated flag set. See the technical concept for more information.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
violationType | RouteViolationType | no | - | 2.18 | The reason of the violation. |
violatedFeature | ViolatedFeature | no | - | 2.20 | The feature which is violated in case of violationType FEATURE. |
accessType | AccessType | no | - | 2.18 | Indicates how a range of segments with the same kind of violation is accessed. |
relatedEventIndex | Index (Integer) | no | - | 2.18 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise. |
A segment is defined by a start- and an end-node, which in turn will represent some geographic location. A segment may carry additional attributes and will add to the duration of a journey.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
startNodeIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.nodes of the start node of the segment. It is available only if the list of nodes is requested by ResultFields.nodes. |
endNodeIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.nodes of the end node of the segment. It is available only if the list of nodes is requested by ResultFields.nodes. |
distance | Distance (double) | yes | - | 2.0 | The travel distance for the segment. It is always a whole number and depends on the segment type as follows.
|
travelTime | Duration (double) | yes | - | 2.0 | The travel time for the segment. It has up to three decimal places and depends on the segment type as follows.
|
travelSpeed | Speed (double) | yes | - | 2.0 | The travel speed that was used to calculate the travel time for the segment. It is always a whole number and depends on the segment type as follows.
|
trafficDelay | Duration (Double) | no | - | 2.26 |
The total delay due to traffic incidents (traffic jams, construction sites etc.) on the considered segment. For each segment of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass this segment than usually at the same time and the same day of week. This value will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used. |
emissions | Emissions | no | - | 2.0 | The emissions along the route. |
violated | boolean | yes | - | 2.0 | If set to true, indicates that this segment contains a violation for the chosen vehicle. |
eventIndices | Index[] (Integer[]) | 0..* | - | 2.14 | The list of indices in the RouteResponse.events list containing all route events which occur at the beginning of the segment. An event may be present in consecutive segments if it covers a sequence of segments. The list is only populated if route events are requested by ResultFields.eventTypes. |
type | SegmentType | yes | - | 2.0 | A segment may have different types, e.g. it may be a "normal" segment between two network nodes, a "link segment", or a virtual segment which represents a border crossing or a waiting time. |
polyline | EncodedGeometry | no | - | 2.0 |
The polyline of the segment. This polyline consists of all coordinates representing the segment and can be used to draw the segment into a map. Not available for segments of type SegmentType.NOT_DRIVING. The polyline contains elevations only if requested by PolylineOptions.elevations. If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered. |
attributes | SegmentAttributes | no | - | 2.0 | A set of attributes belonging to this segment such as "is this a bridge?" or "road name". Available only for segments of type SegmentType.NETWORK_SEGMENT. |
combinedTransport | CombinedTransportAttributes | no | - | 2.0 | Attributes which describe the combined transport this segment represents. Available only for segments of type SegmentType.COMBINED_TRANSPORT. |
id | SegmentId (String) | no | - | 2.19 | The ID of the segment. |
providerId | String | no | - | (2.23) | The provider id of the segment. It is only returned for segments of type SegmentType.NETWORK_SEGMENT. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
Specifies if and to what extent the segments shall be returned for the complete route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
enabled | Boolean | no | false | 2.0 | Specifies if the segments shall be returned for the complete route. |
emissions | Boolean | no | false | 2.0 | Specifies if the emissions shall be returned for the complete route. |
polyline | Boolean | no | false | 2.0 | Specifies if the segments shall contain the polyline. |
descriptors | Boolean | no | false | 2.0 | Specifies if the segments shall contain the descriptors such as road name and number. |
roadAttributes | Boolean | no | false | 2.0 | Specifies if the segments shall contain the road attributes which describe it physically and legally. |
featureThemeIds | ThemeId[] (String[]) | 0..* | - | 2.0 | The list of Feature Layer theme IDs for which features are to be returned. Every requested theme must be enabled in the Feature Layer profile. |
id | Boolean | no | false | 2.22 | Specifies if the segments shall contain the ID of the segment. |
providerId | Boolean | no | false | (2.23) | Specifies if the segments shall contain the provider ID of the segment. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
This result limitation indicates that the sideOfStreetRestriction of an OffRoadRouteLocation or an OnRoadRouteLocation has been ignored. This happens when being used with calculateReachableAreas or calculateReachableLocations.
No fields defined. |
Specifies all the data concerning toll consisting of a toll summary and optionally more detailed information about the individual toll sections to be paid and the toll systems on the route.
Toll prices to not include VAT.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
summary | TollSummary | no | - | 2.10 | The total toll costs aggregated by currency and by country. |
sections | TollSection[] | 0..* | - | 2.16 | The list of individual toll sections along the route. All toll section costs are always returned in the local currency. It provides also meta information that can be used to group and sum up the toll costs as needed. For example, the country in which the toll has to be paid or the toll system. The list is only populated if requested by TollResultFields.sections. |
systems | TollSystem[] | 0..* | - | 2.16 | The list of all toll systems along the route. It is only populated if requested by TollResultFields.systems. |
Represents a single toll cost specifying the amount, currency, and optional meta information.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
amount | double | yes | - | 2.16 | The amount of the costs in the specified currency. |
currency | CurrencyCode (String) | yes | - | 2.16 | The currency code. |
paymentMethods | PaymentMethod[] | 0..* | - | 2.16 | The payment methods how the cost can be paid. |
electronicTollCollectionSubscriptions | String[] | 0..* | - | 2.16 | The required electronic toll collection subscriptions for the payment method PaymentMethod.ELECTRONIC_TOLL_COLLECTION_SUBSCRIPTION. It is only populated if this payment method is applicable for the cost. In the request the subscriptions of the vehicle can be specified. The available subscriptions can be requested through the operation getDataInformation in the xRuntime service and are returned in TollFeatures.electronicTollCollectionSubscriptions. |
convertedCost | Cost | no | - | 2.23 | The amount that has to be paid converted to the requested currency. It is only returned if this currency is set in the route options of the request. It is still returned in case the requested currency and the currency in which the cost is captured in the data are the same. |
A toll event specifies if a toll road has been entered or exited and links that event to related toll events and toll sections.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
sectionIndex | Index (Integer) | no | - | 2.16 | Index of the corresponding toll section if toll sections are requested in ResultFields.toll. Because toll sections can overlap it is not guaranteed that the display names of the toll event and the toll section match. Instead, the section indexes of a pair of ENTER and EXIT events define the range of sections between the two events. |
displayName | String | no | - | 2.16 | The display name of the toll event. It is only populated if a name is available. For example, this name can be a toll location name defined by the toll operator. In case the toll section has been approximated, the display name of the affected toll event contains the hint "(approximated)". |
accessType | AccessType | no | - | 2.16 | The access type specifies how a toll section is accessed. |
relatedEventIndex | Index (Integer) | no | - | 2.16 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise. |
Specifies how the toll shall be calculated.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
useDetailedToll | Boolean | no | - | (2.16) | Specifies if detailed toll data shall be used for toll calculation. If this parameter is set to false detailed toll data is ignored and only basic toll data is used. This request parameter overwrites core.tollOptions.useDetailedToll in the Server Configuration. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
returnZeroCosts | Boolean | no | false | 2.21 | Set this parameter to true, if the toll summaries should contain costs with amounts of zero when no toll applies. Requires detailed toll data to be used. |
Specifies if and to what extent the toll shall be calculated and returned for the complete route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
enabled | Boolean | no | false | 2.10 | Specifies if the toll shall be returned for the complete route. |
sections | Boolean | no | false | 2.16 | Specifies if the toll shall contain detailed information about the sections. |
systems | Boolean | no | false | 2.16 | Specifies if the toll shall contain the toll systems. |
Represents one single section of the route for which the toll operator has defined toll costs. Besides the toll costs further information is optionally provided such as alternative costs with different payment methods or an official distance for the section defined by the toll operator.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
cost | TollCost | no | - | 2.16 | The toll cost of the section. It is always returned in the currency in which it is captured in the data, which is usually the local currency of the country. |
alternativeCosts | TollCost[] | 0..* | - | 2.16 | Alternative costs for the section with different payment methods or different subscriptions. For example, consider a toll section with two alternative costs depending on the payment method, one more expensive with cash, and another less expensive which is applicable only with a subscription for an electronic toll collection system. If there is no such subscription configured for the vehicle, the section cost is the more expensive cash cost, and here the alternative and less expensive cost with the subscription is returned. |
officialDistance | Distance (Double) | no | - | 2.16 | The official distance defined by the toll operator. It is only populated if the toll operator provides an official distance. |
calculatedDistance | Distance (Double) | no | - | 2.30 | The calculated road distance of the section combining toll data from PTV and the from the map provider. Results for the same section may vary depending on waypoints as well as connected sections before and after it. |
tollRoadType | TollRoadType | no | - | 2.16 | The toll road type refers to the reason why toll is charged, e.g. tunnel, bridge, or mountain pass. |
country | CountryCode (String) | no | - | 2.16 | The country in which the costs have to be paid. |
tollSystemIndex | Index (Integer) | no | - | 2.16 | The index in the list of toll systems the toll section belongs to. The index is only populated if the toll systems are requested by TollResultFields.systems. |
startNodeIndex | Index (Integer) | no | - | 2.18 | The index in the list of RouteResponse.nodes where the toll section begins. It is available only if the list of nodes is requested by ResultFields.nodes. |
endNodeIndex | Index (Integer) | no | - | 2.18 | The index in the list of RouteResponse.nodes where the toll section ends. It is available only if the list of nodes is requested by ResultFields.nodes. |
displayName | String | no | - | 2.18 | A name that characterizes the toll section. For example it can relate to the names of the road intersections, to the area in general or to the type of toll. |
approximated | Boolean | no | - | (2.34) | States whether the section is approximated because the start or destination waypoint is located inside a toll section and thus the exact toll price cannot be calculated. The closest toll location after the waypoint is used to approximate the toll price. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
Specifies key data concerning toll, for example the toll cost. Depending on the object that contains the toll summary it represents the summed up toll data either for the complete route or for some part of the route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
costs | Cost[] | 0..* | - | 2.10 | The total toll costs for the part of the route the toll summary represents. If there are no tolls on this part of the route the costs array is empty. If a currency is specified the costs array consists of one element with the toll cost in the specified currency. Otherwise, the costs are summed up separately for each local currency that is involved. |
countries | CountryCost[] | 0..* | - | 2.21 | The total toll costs aggregated by country for the part of the route the toll summary represents. It is only returned if detailed toll data is used. By default, only countries where toll costs have to be paid are returned. This can be changed with the option returnZeroCosts. |
containsApproximatedSections | Boolean | no | - | (2.34) | True, if the start or destination waypoint is located inside a toll section. In such cases the exact toll price cannot be calculated and the closest toll location after the waypoint is used to approximate the toll price. When toll sections are requested, the affected section is marked as well. This field is experimental. Before using it, make sure you understand the implications of Experimental features. |
Represents a toll system.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
name | String | no | - | 2.16 | The name of the toll system. For example, Florida Turnpike, or TollCollect German Autobahn. |
operatorName | String | no | - | 2.16 | The name of the toll operator. For example, TollCollect. |
tariffVersion | String | no | - | 2.16 | The tariff version that has been used. |
tariffVersionValidFrom | XMLGregorianCalendar | no | - | 2.16 | The date at which this tariff version becomes valid, the time of day and the offset to UTC can be ignored. Note that this date can also be later than a specified reference time: In case there is no tariff version that is valid at a specified reference time the tariff version with the earliest valid from date is used. |
tariffVersionDescription | String | no | - | 2.32 | A short description of this tariff version. It is only filled if major changes to the system were made such as new vehicles or road coverage. |
This event indicates that a tour information happens at this position on the route. Basically, a tour event is related to an action which is not driving; e.g. a break period, a rest period, a service period to be performed, waiting time,...
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
tourEventTypes | TourEventType[] | 1..* | - | 2.16 | Tour event types of this event. An event can have several types, such as WAITING and BREAK. |
tourViolations | TourViolation[] | 0..* | - | 2.16 | Tour violations of this event. |
duration | Duration (double) | yes | - | 2.16 | Duration of this event. |
Represents the summary of the tour which has been calculated.
Please note that the total travel time of the tour is equal to the travel time of the route (see RouteResponse.travelTime).
Moreover, the total travel time of the tour is equal to the sum of the drivingTime, serviceTime, waitingTime, breakTime and restTime.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
violated | Boolean | no | - | 2.16 | If set to true, indicates that this tour contains a tour violation. |
startTime | XMLGregorianCalendar | no | - | 2.16 | The start date/time of the tour. |
endTime | XMLGregorianCalendar | no | - | 2.26 | The end date/time of the tour. |
serviceTime | Duration (Double) | no | - | 2.16 | The total service time of the tour. |
drivingTime | Duration (Double) | no | - | 2.16 | The total driving time of the tour |
waitingTime | Duration (Double) | no | - | 2.26 | The total waiting time of the tour. Please note that, only waiting times which are not already included in the serviceTime are considered. |
breakTime | Duration (Double) | no | - | 2.26 | The total break time of the tour. Please note that, only break times which are not already included in the serviceTime are considered. |
restTime | Duration (Double) | no | - | 2.26 | The total rest time of the tour. Please note that, only rest times which are not already included in the serviceTime are considered. |
Specifies the all the information to take into account to calculate the tour.
Please note that if MultiDayWorkingHours is selected, the MultiDayWorkingHours.dailyRestPositions field has to be set explicitly to RestPositions.ANYWHERE.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
maximumTravelTimePerTour | Duration (Double) | no | - | 2.16 | Restricts the maximum allowed total travel time per tour in seconds. The travel time contains all waiting, service and driving times. Drivers' working hours may be more restrictive and enforce a lower limit. Is infinite if it is not set. |
maximumDrivingTimePerTour | Duration (Double) | no | - | 2.16 | Restricts the maximum allowed total driving time per tour in seconds. Drivers' working hours may be more restrictive and enforce a lower limit. Is infinite if it is not set. Not supported for time dependent driving times. |
workingHours | WorkingHours | no | - | 2.16 | Defines the rules regarding drivers' working hours. Drivers' working hours are only active if this member is set. |
configurableWorkingHours | ConfigurableWorkingHours | no | - | 2.27 | Defines configurable rules regarding drivers' working hours. This value may only be set if working hours, maximum travel time per tour, maximum driving time per tour are not set. |
configurableWorkingHoursPreset | ConfigurableWorkingHoursPreset | no | - | 2.27 | For the user's convenience, a preset can be chosen for the configurable working hours. Every preset stands for a pre-defined parameterization of the included rules and total time limits. Using a preset means that conversely, the configurable working hours must not be set additionally. |
useTimeOnCombinedTransportForRecreation | Boolean | no | false | 2.33 | When using drivers' working hours, this parameter allows to use the ferry/rail time for breaks and daily/weekly rests. |
workLogbookSummary | WorkLogbookSummary | no | - | 2.16 | The summary of a logbook of a driver. If such a summary is missing, it is assumed that the driver is fully rested. |
Describes the logistic information to apply on a waypoint ; such as the opening time windows and the service time.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
openingIntervals | Interval[] | 0..30 | - | 2.16 | The list of opening time windows. Opening intervals for this site, specified in one of the valid interval formats. Leaving this parameter empty means that the site is always open. Service can only start within one of the opening intervals. Moreover only StartDurationInterval and StartEndInterval are supported to define the opening intervals on a waypoint. |
serviceTime | Duration (Double) | no | 0.0 | 2.16 | The service time. |
useServiceTimeForRecreation | Boolean | no | false | 2.33 | Tells if the service time could be used for a break/rest period. In this case, the driver is not working and the service time is not considered as working time. Please note that this parameter is only considered if the service time is greater than 0 second. |
This event indicates entering or exiting a traffic incident such as a traffic jam.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
delay | Duration (Double) | no | - | 2.27 | The delay of this traffic event. |
description | String | no | - | 2.27 | The description. The language can be specified by RequestProfile.userLanguage. |
descriptionLanguage | LanguageCode (String) | no | - | 2.27 | The language of the description. It is only populated if different from the requested RequestProfile.userLanguage. |
accessType | AccessType | no | - | 2.27 | Indicates how a range of segments with the traffic event is accessed. |
relatedEventIndex | Index (Integer) | no | - | 2.27 | For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise. |
This event indicates that the offset to UTC changes at this point of the route. As this object contains only the new UTC offset, consider the previous UTCOffsetEvent to obtain the previous offset. To obtain the UTC offset for which the route starts, there is always an event for the start of the route.
Changing the UTC offset does not necessarily mean to change the time zone. Vice-versa changing the time zone does not necessarily mean to change the UTC offset. There are some special cases to consider.
- The UTC offset may change even within a time zone when the route takes place exactly when the daylight-saving time changes.
- The UTC offset may not change when changing the time zone. In Canada, for example, there are regions which do not use DST so that the neighboring time zone has the same UTC offset in summer.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
utcOffset | UTCOffset (Integer) | no | - | 2.13 | The UTC offset valid for the segments after this event. The UTC offset will contain daylight-saving time only if a time-consideration scenario with a reference time is given in the request. |
This result limitation indicates that during the calculation of the response map data was found that does not fulfill the internal specification. Such a case should be reported to the PTV xServer support.
This result limitation indicates that the specified emission scenario is not supported for the given vehicle profile.
VehicleParametersAtWaypoint
used by MultiCoordinateOnRoadWaypoint, OffRoadWaypoint, OnRoadWaypoint
since 2.27
Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint.
For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading at waypoints.
The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
consumptionValues | ConsumptionValues | no | - | 2.27 | Defines the consumption values of the vehicle. These parameters are only relevant if the driveType is MOTOR_VEHICLE. |
weight | Weight | no | - | 2.27 | Defines the weight parameters of the vehicle. The actual weight of the vehicle is the sum of the empty weight and the load weight. |
dimensions | Dimensions | no | - | 2.27 | Defines the size parameters of the vehicle, e.g. height, length, etc. |
load | Load | no | - | 2.27 | Defines the current load of the vehicle |
axle | Axle | no | - | 2.27 | Defines the axle parameters of the vehicle. |
numberOfTrailers | NonNegativeInteger (Integer) | no | - | 2.27 | The number of trailers. (2,3,4) Categories: highPerformanceRouting |
preferredRouteTypes | CommaSeparatedList (String) | no | - | 2.27 | The road networks to be preferred by the routing algorithm as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'preferredRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5) Categories: highPerformanceRouting |
unrestrictedRouteTypes | CommaSeparatedList (String) | no | - | 2.27 | The road networks without restrictions as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'unrestrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5) Categories: highPerformanceRouting |
restrictedRouteTypes | CommaSeparatedList (String) | no | - | 2.27 | The road networks that should be avoided as far as possible, e.g. for convenience reasons, as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'restrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5) Categories: highPerformanceRouting |
highlyRestrictedRouteTypes | CommaSeparatedList (String) | no | - | 2.27 | The road networks that must be avoided, e.g. due to legal limitations, as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'highlyRestrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5) Categories: highPerformanceRouting |
prohibitedRouteTypes | CommaSeparatedList (String) | no | - | 2.27 | The road networks that are prohibited for the vehicle as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'prohibitedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5) Categories: highPerformanceRouting |
VehiclePosition (abstract)
extended by PositionAtStop, PositionEnRoute
used by ETACalculationOptions
since 2.21
Position of the vehicle. For details on the results like waypoints or events see the technical concept Estimated Time of Arrival.
No fields defined. |
Contains the features of a Feature Layer theme valid for the segment in question.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
ruleId | String | no | - | 2.32 |
The ID of the rule which is violated. See the documentation of the Feature Layer theme in question for details on this rule. As an example, the Feature Layer theme PTV_TruckAttributes contains a rule This parameter is designed to explain why exactly this part of the route is violated. Its contents may change after updating the data. |
themeId | ThemeId (String) | yes | - | 2.20 | The ID of the Feature Layer theme to which this feature belongs to. |
attributes | KeyValuePair[] | 0..* | - | 2.20 | The list of attributes of a segment. For each attribute its type (key) and value is provided via key-value pairs. See the documentation of the layer-specific attributes for more information on the type and the range of available attributes. |
A waypoint defines the start or destination of a route or a route leg. Every waypoint corresponds to an InputWaypoint, but not every input waypoint corresponds to a waypoint in the route. It is guaranteed that the waypoint of index n starts the leg of index n. That means that the number of waypoints equals the number of legs plus 1.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
name | String | no | - | 2.0 | The name of the corresponding input waypoint. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set. |
country | CountryCode (String) | yes | - | 2.0 | Country the waypoint is located in. This value is determined based on the Waypoint.linkedCoordinate. Note that for this reason rare situations can occur close to borders where the Waypoint.referenceCoordinate for the waypoint is not in the same country. |
linkedCoordinate | Coordinate | yes | - | 2.0 | The coordinate where input location was linked to the road network. This location is always on the route. |
referenceCoordinate | Coordinate | yes | - | 2.0 | The location of the waypoint on the route. For an OffRoadWaypoint this is the input location, for an OnRoadWaypoint this is the linked location. Use this location to mark the waypoint on the map. |
linkDistance | Distance (double) | yes | - | 2.0 | Distance as the crow flies from the input coordinate to the linked coordinate. |
linkTravelTime | Duration (double) | yes | - | 2.0 | Assumed travel time it takes to get from the input coordinate to the linked coordinate. The speed can be configured by Speeds.speedForLinkDistance. |
nodeIndex | Index (Integer) | no | - | 2.0 | The index in the list of RouteResponse.nodes of the corresponding node. It is available only if the list of nodes is requested by ResultFields.nodes. |
This event provides information on a Waypoint reached by the route. Note that there is no waypoint event for ManipulateRouteWaypoint and CombinedTransportViaWaypoint as they are only used to control the route.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
waypointIndex | Index (Integer) | no | - | 2.13 | The index of the waypoint in the RouteResponse.waypoints list. This field is only present if the list of waypoints is present. |
waypointName | String | no | - | 2.13 | The name of the waypoint as given in the corresponding InputWaypoint. This field is only present if its is not empty. This is useful to identify input waypoints when the waypoints list is not available in the response. |
This result limitation indicates that at least one input waypoint could not be linked to the road network in the expected way.
Field Name | Type | Required | Default | Since | Description |
---|---|---|---|---|---|
parameter | String | no | - | 2.0 | Parameter which influences the linking behaviour in this case. |
waypointIndices | Index[] (Integer[]) | 0..* | - | 2.0 | The indices of the input waypoints which are affected. |
locationsIndices | Index[] (Integer[]) | 0..* | - | 2.33 | The indices of the locations which are affected. |
Enumeration
AccessType
used by CombinedTransportEvent, DeliveryOnlyEvent, LowEmissionZoneEvent, RouteViolationEvent, TollEvent, TrafficEvent
since 2.16
Indicates if a range of segments is entered or exited or a single position is passed. Passing a position applies only for violation events of type RESTRICTED_ACCESS or PROHIBITED_BY_INTERSECTING_POLYLINE.
Describes the type of maneuver to execute.
Enumeration Value | Since | Description |
---|---|---|
START | 2.13 | Denotes the departure at an OnRoadWaypoint. |
START_LEFT | 2.13 | Denotes the departure at an OffRoadWaypoint to begin the route to the left. |
START_RIGHT | 2.13 | Denotes the departure at an OffRoadWaypoint to begin the route to the right. |
ARRIVE | 2.13 | Denotes the arrival at an OnRoadWaypoint. |
ARRIVE_LEFT | 2.13 | Denotes the arrival at an OffRoadWaypoint if the waypoint is on the left. |
ARRIVE_RIGHT | 2.13 | Denotes the arrival at an OffRoadWaypoint if the waypoint is on the right. |
CONTINUE | 2.13 | Indicates to follow the current road. Usually such a maneuver occurs when the road attributation changes although the road goes straight. |
KEEP_STRAIGHT | 2.13 | Indicates to stay on the straight lane. This is usually in fork-shaped intersections with more than two spikes. |
KEEP_LEFT | 2.13 | Indicates to keep left or to take the left lane. This usually occurs in Y-shaped intersections. |
KEEP_RIGHT | 2.13 | Indicates to keep right or to take the right lane. This usually occurs in Y-shaped intersections. |
TURN_HALF_LEFT | 2.13 | Indicates to turn half left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
TURN_LEFT | 2.13 | Indicates to turn left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
TURN_SHARP_LEFT | 2.13 | Indicates to turn sharp left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
TURN_HALF_RIGHT | 2.13 | Indicates to turn half right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
TURN_RIGHT | 2.13 | Indicates to turn right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
TURN_SHARP_RIGHT | 2.13 | Indicates to turn sharp right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created. |
MAKE_U_TURN | 2.13 | Indicates to make a U-turn. Either at the same road or at structurally separated roads. The ManeuverEvent.relativeDirection indicates whether to turn left or right. |
TAKE_ROUNDABOUT_LEFT | 2.13 | Indicates to enter a roundabout to the left and leave it at the given roundaboutExit. Only drivable roads of the roundabout are counted. |
TAKE_ROUNDABOUT_RIGHT | 2.13 | Indicates to enter a roundabout to the right and leave it at the given roundaboutExit. Only drivable roads of the roundabout are counted. |
TAKE_COMBINED_TRANSPORT | 2.13 | Indicates to take a railferry or a ferryboat. There is no direction available in this case. |
ENTER | 2.13 | Indicates to enter a highway/freeway/major road straight. |
ENTER_LEFT | 2.13 | Indicates to enter a highway/freeway/major road to the left. |
ENTER_RIGHT | 2.13 | Indicates to enter a highway/freeway/major road to the right. |
EXIT | 2.13 | Indicates to leave a highway/freeway/major road straight. |
EXIT_LEFT | 2.13 | Indicates to leave a highway/freeway/major road to the left. |
EXIT_RIGHT | 2.13 | Indicates to leave a highway/freeway/major road to the right. |
CHANGE | 2.13 | Indicates to change straight to another highway/freeway at an interchange. |
CHANGE_LEFT | 2.13 | Indicates to change to the left to another highway/freeway at an interchange. |
CHANGE_RIGHT | 2.13 | Indicates to change to the right to another highway/freeway at an interchange. |
Enumeration of the different Node types returned by a routing operation. While a NodeType.NETWORK_NODE is an actual node in the routing network, other virtual node types are also created. For example a NodeType.INPUT_NODE might represent an arbitrary user supplied InputWaypoint. A corresponding NodeType.LINK_NODE is then required to represent the point where the segment from the user supplied waypoint is connected to the actual routing network.
Enumeration Value | Since | Description |
---|---|---|
NETWORK_NODE | 2.0 | Node is present in the underlying routing network. |
LINK_NODE | 2.0 | Virtual node on a segment in the underlying routing network to which an NodeType.INPUT_NODE is linked. |
INPUT_NODE | 2.0 | Virtual node representing a user provided input waypoint. |
Represents payment methods for toll costs.
Specifies the calculation mode of a reachable areas calculation.
Specifies the driving direction, i.e. from start to destination or from destination to start.
Represents the different available search types for calculating the reachable locations.
Enumeration of the different RouteEvent types returned by a routing operation.
Indicates due to what reason a route violation occurs.
Enumeration Value | Since | Description |
---|---|---|
PROHIBITED | 2.18 | The violated segment is prohibited in general for the current vehicle. See road attribute 'prohibited'. |
DELIVERY_ONLY | 2.18 | The violated segment is prohibited except for delivery reasons but delivery is disallowed for the current vehicle. See road attribute 'deliveryOnly'. |
URBAN | 2.19 | The violated segment is prohibited because it is flagged as urban. See road attribute 'urban'. |
RESIDENTS_ONLY | 2.19 | The violated segment is prohibited because it is flagged as residents only for the current vehicle. See road attribute 'residentsOnly'. |
RESTRICTED_ACCESS | 2.18 | A point with restricted access, e.g. a gate or a bollard was passed. |
FEATURE | 2.20 | The violated segment has an attribute from some enabled Feature Layer theme which prohibits to pass with the current vehicle (e.g. a weight or height restriction). |
COMBINED_TRANSPORT | 2.18 | The violated segment is a ferry or a piggyback prohibited for the current vehicle. |
PROHIBITED_BY_INTERSECTING_POLYLINE | 2.26 | The violated segment is prohibited by an intersecting polyline. |
SEASONAL_CLOSURE | 2.31 | The violated segment is prohibited because it is flagged as seasonallyClosed. See road attribute 'seasonallyClosed'. |
UNSPECIFIED | 2.18 | Fallback value to be substituted for enumeration values which were added in an API version that is newer than the request version. |
Represents reasons why toll is charged.