Special FeatureLayer : Genovese bridge incident

This forum deals with any kind of routing computation whether it is simple A:B-routing, calculation of isochrones, simple matrix computation or nearest search.
Post Reply
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Special FeatureLayer : Genovese bridge incident

Post by Bernd Welter »

Hi there,

as we all know the Ponte Morandi (=Morandi Bridge = Morandi Brücke) in Genovese (Genova / Genua) collapsed in August 2018. Due to the incident several roads cannot be used and some players asked us whether we can handle this topic and it's derived consequences with xRoute and xMap server.
  • short term (2018.1/2018.2 maps): Our data department produced a special Feature Layer that contains several blockings of the affected streets.
  • mid term (2019.1 maps): The next map versions will simply block the bridge itself (not the underlying streets) via map data (instead of FeatureLayer). Schedules: 2019.1H=end of october 2018, 2019.1T=end of november 2018.
  • Important to know: The special feature layer files do not replace the regular ones - they have to be added to the core layers.
Visualization of the feature layer
Visualization of the feature layer
By applying the additional data you can compute detours around the are of the incident.
On the left side: a route that avoids the critical segments by applying the PTV_TruckAttributes layer<br />On the right side: a route that uses critical segments and raises violations.
On the left side: a route that avoids the critical segments by applying the PTV_TruckAttributes layer
On the right side: a route that uses critical segments and raises violations.
Please get in touch with your technical counterpart at PTV to get further info about the special layer.

Best regards,
Bernd

Please check this generic post about how to deal with construction sites, too.
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Special FeatureLayer : Genovese bridge incident

Post by Bernd Welter »

Hi there,

in the meantime I received further info about the approach. We can offer two different feature layers.
  • Both layers apply specific restrictions to the collapsed road and the underlying streets (the set of segments is equal, only the attributes vary)
  • You need proper license keys to benefit from the layers
  • There is a FeatureLayer file (*.flr) which should be copied in the featurelayer folder in the map directory.
  • You can activate the layers via profile snippets or server profiles
LayerPTV_TrafficIncidentsPTV_TruckAttributes
AttributesAll segments are blocked based on speed reduction: absoluteSpeed (km/h) = 0All Segments are blocked for all trucks (vehicle with load type Goods and totalPermittedWeight > 3.5 tons
ImportantEven if you allow violations the segments won't be used as they will not produce optimal ways.You can enable violations. You can't distinguish regular truck attributes from the special ones. Only applies to trucks, so regular cars won't be affected.
In xroute and xmap the FeatureLayer Theme has to be activated<Theme id="PTV_TrafficIncidents" enabled="true"/><Theme id="PTV_TruckAttributes" enabled="true"/>
And here's a minimal snippet (for PTV_TrafficIncidents, just replace by PTV_TruckAttributes):

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http:///xroute/schema/XRouteProfile.xsd">
	<Routing majorVersion="2" minorVersion="0">
		<Course>
			<AdditionalDataRules enabled="true" layerName=""/>
		</Course>
	</Routing>
	<FeatureLayer majorVersion="1" minorVersion="0">
		<GlobalSettings enableTimeDependency="true"/>
		<Themes>
			<Theme id="PTV_TrafficIncidents" enabled="true"/>
		</Themes>
	</FeatureLayer>
</Profile>
So much for now,
Bernd
PTV_TruckAttributes
PTV_TruckAttributes
PTV_TrafficIncidents
PTV_TrafficIncidents
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
Max Beermann
Posts: 68
Joined: Tue Oct 30, 2018 7:36 am

Re: Special FeatureLayer : Genovese bridge incident

Post by Max Beermann »

Hey Bernd,

I want to route around the "Leverkusener Brücke".

I tried to do it on my own by using the information of the documentation and the forum.
- But not successfully.

Maybe you recognize my mistake directly (ArrayOfExceptionPath_4)?

Code: Select all

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:calculateAdvancedTour xmlns:ns2="http://types.xroute.xserver.ptvag.com">
      <ns2:ArrayOfWaypointDesc_1>
        <ns5:WaypointDesc xmlns:ns5="http://xroute.xserver.ptvag.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns5:TourPointDesc" completeServiceInIntervals="true" useServicePeriodForRecreation="false" servicePeriod="100" fuzzyRadius="0" linkType="NEXT_SEGMENT">
          <ns5:wrappedCoords>
            <Point xmlns="http://common.xserver.ptvag.com">
              <point y="6621196" x="781848" />
            </Point>
          </ns5:wrappedCoords>
          <ns5:wrappedSegmentID xsi:nil="true" />
          <ns5:wrappedOpeningIntervals />
        </ns5:WaypointDesc>
        <ns5:WaypointDesc xmlns:ns5="http://xroute.xserver.ptvag.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns5:TourPointDesc" completeServiceInIntervals="true" useServicePeriodForRecreation="false" servicePeriod="300" fuzzyRadius="0" linkType="NEXT_SEGMENT">
          <ns5:wrappedCoords>
            <Point xmlns="http://common.xserver.ptvag.com">
              <point y="6615209.0" x="773066.0" />
            </Point>
          </ns5:wrappedCoords>
          <ns5:wrappedSegmentID xsi:nil="true" />
          <ns5:wrappedOpeningIntervals />
        </ns5:WaypointDesc>
      </ns2:ArrayOfWaypointDesc_1>
      <ns2:TourOptions_2 restrictToSingleOperatingInterval="false" />
      <ns2:ArrayOfRoutingOption_3 />
      
      
      <ns2:ArrayOfExceptionPath_4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" >
      	<ns2:ExceptionPath absTimeMalus="0" binaryPathDesc="" extSegments="" relMalus="2501" street="Leverkusener Brücke" xmlns="http://xroute.xserver.ptvag.com">
			<wrappedNodes xsi:nil="true" />
			<polyline xsi:nil="true" />
		</ns2:ExceptionPath>
	  </ns2:ArrayOfExceptionPath_4>

      
      <ns2:ResultListOptions_5 totalRectangle="false" boundingRectanglesOffset="300" boundingRectanglesC="5" tollManoeuvres="false" manoeuvreGroupRatio="1.0" manoeuvreGroups="true" urbanManoeuvres="true" brunnelManoeuvres="true" manoeuvreAttributes="true" segmentAttributes="true" segments="true" dynamicInfo="false" detailLevel="STANDARD" polygon="true" binaryPathDesc="false" nodes="true" texts="true" manoeuvres="true" />
      <ns2:CountryInfoOptions_6 calculatePartTollCosts="false" allEuro="false" detailedTollCosts="false" />
      <ns2:CallerContext_7>
        <ns6:wrappedProperties xmlns:ns6="http://baseservices.service.jabba.ptvag.com">
          <ns6:CallerContextProperty value="PLAIN" key="ResponseGeometry" />
          <ns6:CallerContextProperty value="PTV_MERCATOR" key="CoordFormat" />
          <ns6:CallerContextProperty value="truckfast" key="Profile" />
        </ns6:wrappedProperties>
      </ns2:CallerContext_7>
    </ns2:calculateAdvancedTour>
  </soap:Body>
</soap:Envelope>

Best regards!
Max Beermann
Max Beermann
Development Manager
WHEELS Logistics
Joost
Posts: 307
Joined: Fri Apr 25, 2014 1:46 pm

Re: Special FeatureLayer : Genovese bridge incident

Post by Joost »

You have kept the xsi:nil="true" in the ArrayOfExceptionPath_4 element. because of this the object will be deserialized as a NULL reference. Also your ExceptionPath element is using the wrong namespace because you kept the ns2 prefix. If you remove the null reference and the incorrect prefix it will work.

Code: Select all

<ns2:ArrayOfExceptionPath_4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
      <ExceptionPath absTimeMalus="0" binaryPathDesc="" extSegments="" relMalus="2501" street="Leverkusener Brücke" xmlns="http://xroute.xserver.ptvag.com">
            <wrappedNodes xsi:nil="true" />
            <polyline xsi:nil="true" />
      </ExceptionPath>
</ns2:ArrayOfExceptionPath_4>
Joost Claessen
Senior Technical Consultant
PTV Benelux
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Special FeatureLayer : Genovese bridge incident

Post by Bernd Welter »

Hello Max,

please be aware that this thread deals with the collapsed bridge in Italy.

Sounds like your usecase is described here:
https://xserver.ptvgroup.com/forum/view ... ?f=7&t=267

Best regards,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
Max Beermann
Posts: 68
Joined: Tue Oct 30, 2018 7:36 am

Re: Special FeatureLayer : Genovese bridge incident

Post by Max Beermann »

Hey there,

It works - yes!


- thanks Joost for correcting my code.

- sorry Bernd for missing the topic.

Have a nice evening & Best regards
Max Beermann
Max Beermann
Development Manager
WHEELS Logistics
Post Reply