Page 1 of 1

xServer 2 - Swiss toll missing

Posted: Fri Nov 12, 2021 3:00 pm
by Andreas Schönebeck
When we calculate the toll for the route of a car in the old MapServer, so-called extra toll and named toll is calculated for Switzerland (standard toll is empty).

When calculating the route with xServer 2, no toll is returned at all for Switzerland. We set ResultFields.Toll to { Enabled = true, Sections = true, Systems = true }, but Toll.Summary/Sections/Systems are returned empty.

Is xServer 2 not supporting the mentioned additional tolls or are we missing certain route options?

Re: xServer 2 - Swiss toll missing

Posted: Fri Nov 12, 2021 3:34 pm
by Bernd Welter
Hello Andreas,
please provide your complete request to me 1:1 (bernd.welter@ptvgroup.com).
I get toll for SUISSE immediately for my 40t truck profile on xServer Internet 2.
Bernd

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 16, 2021 10:31 am
by Andreas Schönebeck
Hello Bernd,

thank you very much for your response. Unfortunately, our problem is not about a 40t Truck. We get standard toll costs for that.

It is about a PKW and the extra tolls which were calculated in MapServer, and are now missing in xServer 2.

Code: Select all

{
  "$type":"RouteRequest",
  "waypoints":[
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":7.5878101004,
          "y":47.548801472
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"0"
    },
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":9.1817798897,
          "y":45.467960378
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"1"
    }
  ],
  "routeOptions":{
    "timeConsideration":{
      "$type":"ExactTimeConsiderationAtStart"
    },
    "geographicRestrictions":{
      "allowedCountries":[
        
      ],
      "prohibitedCountries":[
        
      ]
    },
    "emissionOptions":{
      "valueScenarios":[
        {
          "$type":"EmissionValueScenario_HBEFA_3_2",
          "scenarios":[
            "CURRENT_ROUTE"
          ]
        }
      ]
    },
    "currency":"EUR"
  },
  "resultFields":{
    "waypoints":true,
    "legs":{
      "enabled":true
    },
    "segments":{
      "enabled":true,
      "descriptors":true,
      "roadAttributes":true,
      "id":true
    },
    "eventTypes":[
      "COUNTRY_EVENT",
      "TOLL_EVENT",
      "ROUTE_VIOLATION_EVENT"
    ],
    "polyline":true,
    "toll":{
      "enabled":true,
      "sections":true,
      "systems":true
    },
    "emissions":true,
    "encodedPath":true
  },
  "requestProfile":{
    "vehicleProfile":{
      "engine":{
        "cylinderCapacity":1500,
        "fuelType":"GASOLINE",
        "fuelConsumption":6.0,
        "particleFilterInstalled":false,
        "emissionStandardEU":"EURO_6",
        "lowEmissionZoneTypes":"DE_GREEN"
      },
      "weight":{
        "emptyWeight":1200.0,
        "loadWeight":200.0,
        "totalPermittedWeight":2000.0
      },
      "dimensions":{
        "height":160.0,
        "heightAboveFrontAxle":100.0,
        "length":425.0,
        "width":175.0
      },
      "legalCondition":{
        "isEmergency":false,
        "isDelivery":false
      },
      "load":{
        "loadType":"PASSENGER"
      },
      "speeds":{
        "speedRangesByNetworkClass":{
          "maximumSpeeds":[
            135.0,
            125.0,
            85.0,
            60.0,
            50.0,
            40.0,
            16.0,
            6.0
          ],
          "minimumSpeeds":[
            70.0,
            35.0,
            25.0,
            25.0,
            20.0,
            18.0,
            9.0,
            4.0
          ]
        },
        "maximumSpeed":150.0
      },
      "yearOfManufacture":2019,
      "numberOfPassengers":2,
      "numberOfTrailers":0
    },
    "featureLayerProfile":{
      "themes":[
        {
          "id":"PTV_TruckAttributes",
          "enabled":false
        },
        {
          "id":"PTV_TruckSpeedPatterns",
          "enabled":false
        },
        {
          "id":"PTV_TrafficIncidents",
          "enabled":false
        }
      ]
    },
    "routingProfile":{
      "linking":{
        "maximumDistanceToSegment":10000.0
      },
      "course":{
        "violations":{
          "enabled":true
        },
        "network":{
          
        },
        "toll":{
          
        },
        "specialAreas":{
          
        },
        "combinedTransport":{
          "boatPenalty":0,
          "railPenalty":0
        },
        "distanceTimeWeighting":90.0
      }
    }
  },
  "coordinateFormat":"EPSG:4326"
}

Re: xServer 2 - Swiss toll missing

Posted: Thu Nov 18, 2021 10:32 am
by Bernd Welter
Hi Andreas,

I guess we have to distinguish between TOLL and VIGNETTE.
Toll applies on a distance base whenever you drive on a road. If you drive the road several times, this will increase the costs - no matter what time horizont was used.
Vignette is something different: this applies within a time horizon (a day, a week, a year...) and your driver either has a vignette or not.

This is described in the article Basics: differences between toll and vignette

Does this explain the missing output?

Bernd

PS: We currently evaluate how to modell Vignettes in xServer2

Re: xServer 2 - Swiss toll missing

Posted: Thu Nov 18, 2021 12:17 pm
by Joost
My mapserver knowledge is a but rusty but IIRC what is mentioned here as extra toll would be the charges for tunnels/birdges/ferries/mountain passes that would be charged apart from regular toll or vingette. After a quick glance I'm not seeing any section in the example given that should contain these type of charges. If you do want an example of such a road try the Sankt Bernhard Tunnel.

Code: Select all

{
  "waypoints": [
    {
      "$type": "OffRoadWaypoint",
      "location":
      {
        "offRoadCoordinate":
        {
          "x": 7.187461853027345,
          "y": 45.991952783990875
        }
      }
    },
    {
      "$type": "OffRoadWaypoint",
      "location":
      {
        "offRoadCoordinate":
        {
          "x": 7.189178466796876,
          "y": 45.82329671534156
        }
      }
    }
  ],
  "resultFields":
  {
    "toll":
    {
      "enabled": true,
      "sections": true,
      "systems": true
    },
    "eventTypes": ["TOLL_EVENT"]
  },
  "routeOptions":
  {
    "timeConsideration":
    {
      "$type": "SnapshotTimeConsideration",
      "referenceTime": "2021-11-18T12:50:56"
    }
  },
  "storedProfile": "car"
}

Code: Select all

{
  "$type": "RouteResponse",
  "distance": 27640,
  "travelTime": 1441.448,
  "toll": {
    "summary": {
      "costs": [
        {
          "amount": 29.5,
          "currency": "CHF"
        }
      ],
      "countries": [
        {
          "country": "CH",
          "cost": {
            "amount": 29.5,
            "currency": "CHF"
          }
        }
      ]
    },
    "sections": [
      {
        "cost": {
          "amount": 29.5,
          "currency": "CHF",
          "paymentMethods": [
            "CASH"
          ]
        },
        "tollRoadType": "TUNNEL",
        "country": "CH",
        "tollSystemIndex": 0,
        "displayName": "Sankt Bernhard Tunnel"
      }
    ],
    "systems": [
      {
        "name": "Sankt Bernhard Tunnel",
        "operatorName": "SISEX SA",
        "tariffVersion": "2021 rate",
        "tariffVersionValidFrom": "2020-08-01T00:00:00.000Z"
      }
    ]
  },
  "violated": false
}

Re: xServer 2 - Swiss toll missing

Posted: Thu Nov 18, 2021 2:01 pm
by Bernd Welter
Cheers,

objects such as
- tunnels
- bridges
- mountain passes
are treated as "toll": You have to pay for them each time you drive through them.
Attention: some objects toll depends on time of passage. And for time dependent toll you have to apply a TimeConsideration Mode.
Without such a mode contributions of such objects will be omitted ;-)

Best regards,
Bernd

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 7:24 am
by Andreas Schönebeck
Many thanks to all,

I can confirm that the toll for example Saint Bernard Tunnel is calculated for cars in our case. I will ask the customer if maybe the vignette calculation is missing. Was this vignette calculation perhaps included in the MapServer and is no longer shown by xServer2?

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 11:52 am
by Bernd Welter
We used to have "vignette information" in xServer1 but not with tarrifs - only as a boolean flag on segments.
Afaik we evaluate how to implement this in the new APIs.

I'll forward this to DEV.

Bernd

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 2:33 pm
by Andreas Schönebeck
Unfortunately, our customer informed us, that the toll information is still not calculated. Now after a diagnose session with them we could isolate the cause: If we activate the truck attribute layer, the toll for St. Bernhard Tunnel is not calculated. If the truck attribute layer is deactivated it is calculated successfully.

What could be the reason for this? We expected that the toll is calculated regardless of the activation of the truck attribute layer.

Code: Select all

...
    "featureLayerProfile":{
      "themes":[
        {
          "id":"PTV_TruckAttributes",
          "enabled":false                         <-- If set to true, toll calculation fails
        },
...

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 3:17 pm
by Bernd Welter
I just played this request on https://xserver2-europe-eu-test.cloud.p ... Runner.htm
No matter whether TruckAttributes have been enabled/disdabled: I get toll for the Sankt Bernhard.
How did you test this?

Code: Select all

{
  "waypoints": [
    {
      "$type": "OffRoadWaypoint",
      "location": {
        "offRoadCoordinate": {
          "x": 7.187461853027345,
          "y": 45.991952783990875
        }
      }
    },
    {
      "$type": "OffRoadWaypoint",
      "location": {
        "offRoadCoordinate": {
          "x": 7.189178466796876,
          "y": 45.82329671534156
        }
      }
    }
  ],
  "resultFields": {
    "toll": {
      "enabled": true,
      "sections": true,
      "systems": true
    },
    "eventTypes": [
      "TOLL_EVENT"
    ]
  },
  "routeOptions": {
    "timeConsideration": {
      "$type": "SnapshotTimeConsideration",
      "referenceTime": "2021-11-18T12:50:56"
    }
  },
  "storedProfile": "car",
  "requestProfile": {
    "featureLayerProfile": {
      "themes": [
        {
          "id": "PTV_TruckAttributes",
          "enabled": true
        }
      ]
    }
  }
}

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 4:12 pm
by Andreas Schönebeck
Here the exact request produced by our software:

With toll returned:

Code: Select all

{
  "$type":"RouteRequest",
  "waypoints":[
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":7.4404602694,
          "y":46.948429118
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"0"
    },
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":7.3207202102,
          "y":45.7375107
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"1"
    }
  ],
  "routeOptions":{
    "timeConsideration":{
      "$type":"ExactTimeConsiderationAtStart",
      "referenceTime":"2021-11-30T00:00:00+01:00"
    },
    "geographicRestrictions":{
      "allowedCountries":[
        
      ],
      "prohibitedCountries":[
        
      ]
    },
    "emissionOptions":{
      "valueScenarios":[
        {
          "$type":"EmissionValueScenario_HBEFA_3_2",
          "scenarios":[
            "CURRENT_ROUTE"
          ]
        }
      ]
    },
    "currency":"EUR"
  },
  "resultFields":{
    "waypoints":true,
    "legs":{
      "enabled":true
    },
    "segments":{
      "enabled":true,
      "descriptors":true,
      "roadAttributes":true,
      "id":true
    },
    "eventTypes":[
      "COUNTRY_EVENT",
      "TOLL_EVENT",
      "ROUTE_VIOLATION_EVENT"
    ],
    "polyline":true,
    "toll":{
      "enabled":true,
      "sections":true,
      "systems":true
    },
    "emissions":true,
    "encodedPath":true
  },
  "requestProfile":{
    "vehicleProfile":{
      "engine":{
        "cylinderCapacity":1500,
        "fuelType":"GASOLINE",
        "fuelConsumption":6.0,
        "particleFilterInstalled":false,
        "emissionStandardEU":"EURO_6",
        "lowEmissionZoneTypes":"DE_GREEN"
      },
      "weight":{
        "emptyWeight":1200.0,
        "loadWeight":200.0,
        "totalPermittedWeight":2000.0
      },
      "dimensions":{
        "height":160.0,
        "heightAboveFrontAxle":100.0,
        "length":425.0,
        "width":175.0
      },
      "axle":{
        "axleLoad":11500.0,
        "numberOfAxles":5
      },
      "legalCondition":{
        "isEmergency":false,
        "isDelivery":false
      },
      "load":{
        "loadType":"PASSENGER"
      },
      "speeds":{
        "speedRangesByNetworkClass":{
          "maximumSpeeds":[
            135.0,
            125.0,
            85.0,
            60.0,
            50.0,
            40.0,
            16.0,
            6.0
          ],
          "minimumSpeeds":[
            70.0,
            35.0,
            25.0,
            25.0,
            20.0,
            18.0,
            9.0,
            4.0
          ]
        },
        "maximumSpeed":150.0
      },
      "yearOfManufacture":2019,
      "numberOfPassengers":2,
      "numberOfTrailers":0
    },
    "featureLayerProfile":{
      "themes":[
        {
          "id":"PTV_TruckAttributes",
          "enabled":false
        },
        {
          "id":"PTV_TruckSpeedPatterns",
          "enabled":false
        },
        {
          "id":"PTV_TrafficIncidents",
          "enabled":false
        }
      ]
    },
    "routingProfile":{
      "linking":{
        "maximumDistanceToSegment":10000.0
      },
      "course":{
        "violations":{
          "enabled":true
        },
        "network":{
          
        },
        "toll":{
          
        },
        "specialAreas":{
          
        },
        "combinedTransport":{
          "boatPenalty":0,
          "railPenalty":0
        },
        "distanceTimeWeighting":90.0
      }
    }
  },
  "coordinateFormat":"EPSG:4326"
}
Without toll returned:

Code: Select all

{
  "$type":"RouteRequest",
  "waypoints":[
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":7.4404602694,
          "y":46.948429118
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"0"
    },
    {
      "$type":"OffRoadWaypoint",
      "location":{
        "$type":"OffRoadRouteLocation",
        "offRoadCoordinate":{
          "x":7.3207202102,
          "y":45.7375107
        }
      },
      "tourStopOptions":{
        "serviceTime":0.0
      },
      "name":"1"
    }
  ],
  "routeOptions":{
    "timeConsideration":{
      "$type":"ExactTimeConsiderationAtStart",
      "referenceTime":"2021-11-30T00:00:00+01:00"
    },
    "geographicRestrictions":{
      "allowedCountries":[
        
      ],
      "prohibitedCountries":[
        
      ]
    },
    "emissionOptions":{
      "valueScenarios":[
        {
          "$type":"EmissionValueScenario_HBEFA_3_2",
          "scenarios":[
            "CURRENT_ROUTE"
          ]
        }
      ]
    },
    "currency":"EUR"
  },
  "resultFields":{
    "waypoints":true,
    "legs":{
      "enabled":true
    },
    "segments":{
      "enabled":true,
      "descriptors":true,
      "roadAttributes":true,
      "id":true
    },
    "eventTypes":[
      "COUNTRY_EVENT",
      "TOLL_EVENT",
      "ROUTE_VIOLATION_EVENT"
    ],
    "polyline":true,
    "toll":{
      "enabled":true,
      "sections":true,
      "systems":true
    },
    "emissions":true,
    "encodedPath":true
  },
  "requestProfile":{
    "vehicleProfile":{
      "engine":{
        "cylinderCapacity":1500,
        "fuelType":"GASOLINE",
        "fuelConsumption":6.0,
        "particleFilterInstalled":false,
        "emissionStandardEU":"EURO_6",
        "lowEmissionZoneTypes":"DE_GREEN"
      },
      "weight":{
        "emptyWeight":1200.0,
        "loadWeight":200.0,
        "totalPermittedWeight":2000.0
      },
      "dimensions":{
        "height":160.0,
        "heightAboveFrontAxle":100.0,
        "length":425.0,
        "width":175.0
      },
      "axle":{
        "axleLoad":11500.0,
        "numberOfAxles":5
      },
      "legalCondition":{
        "isEmergency":false,
        "isDelivery":false
      },
      "load":{
        "loadType":"PASSENGER"
      },
      "speeds":{
        "speedRangesByNetworkClass":{
          "maximumSpeeds":[
            135.0,
            125.0,
            85.0,
            60.0,
            50.0,
            40.0,
            16.0,
            6.0
          ],
          "minimumSpeeds":[
            70.0,
            35.0,
            25.0,
            25.0,
            20.0,
            18.0,
            9.0,
            4.0
          ]
        },
        "maximumSpeed":150.0
      },
      "yearOfManufacture":2019,
      "numberOfPassengers":2,
      "numberOfTrailers":0
    },
    "featureLayerProfile":{
      "themes":[
        {
          "id":"PTV_TruckAttributes",
          "enabled":true
        },
        {
          "id":"PTV_TruckSpeedPatterns",
          "enabled":false
        },
        {
          "id":"PTV_TrafficIncidents",
          "enabled":false
        }
      ]
    },
    "routingProfile":{
      "linking":{
        "maximumDistanceToSegment":10000.0
      },
      "course":{
        "violations":{
          "enabled":true
        },
        "network":{
          
        },
        "toll":{
          
        },
        "specialAreas":{
          
        },
        "combinedTransport":{
          "boatPenalty":0,
          "railPenalty":0
        },
        "distanceTimeWeighting":90.0
      }
    }
  },
  "coordinateFormat":"EPSG:4326"
}
I checked with a diff tool, that only the one single line "enabled":false / "enabled":true is different between requests. I hope you can help us with this. And thank you very much indeed for your help so far.

Re: xServer 2 - Swiss toll missing

Posted: Tue Nov 30, 2021 4:32 pm
by Andreas Schönebeck
Another remark. If truck attributes are enabled (second request in previous post), the route does not go through St Bernard Tunnel and therefore no toll is calculated:
2021-11-30_17-29-24.png

Re: xServer 2 - Swiss toll missing

Posted: Wed Dec 01, 2021 7:21 am
by Joost
Your axle load is to high. it is set to 11500 and there is a 8000 axle load blocking on the route that goes through the tunnel. Note: although it does not influence this particular route you also have to many axles (5 atm). I would recommend not writing out the entire request profile and just set the storedProfile to "car" in this case.

Re: xServer 2 - Swiss toll missing

Posted: Tue Dec 07, 2021 2:51 pm
by Andreas Schönebeck
Many, many thanks for the great help. The axle load was indeed the problem.