Page 1 of 1

Special FeatureLayer : Genovese bridge incident

Posted: Fri Sep 07, 2018 3:18 pm
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.

Re: Special FeatureLayer : Genovese bridge incident

Posted: Fri Oct 05, 2018 2:29 pm
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

Re: Special FeatureLayer : Genovese bridge incident

Posted: Mon Nov 26, 2018 12:13 pm
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

Re: Special FeatureLayer : Genovese bridge incident

Posted: Mon Nov 26, 2018 12:36 pm
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>

Re: Special FeatureLayer : Genovese bridge incident

Posted: Mon Nov 26, 2018 12:43 pm
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

Re: Special FeatureLayer : Genovese bridge incident

Posted: Mon Nov 26, 2018 4:26 pm
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