How heading improves matching (xMatch 2)

This forum deals with mapmatching.
Post Reply
User avatar
Bernd Welter
Site Admin
Posts: 2574
Joined: Mon Apr 14, 2014 10:28 am
Contact:

How heading improves matching (xMatch 2)

Post by Bernd Welter »

Cheers,

here's just a quick example provided by a customer who faced a wrong matching result. The recommended solution for this case is based on the heading: if you add the heading info to the given coordinates the engine is enabled to filter improper coordinates which could be drifted by GPS:
The original response - the green route follows a weird path. WRONG result due to insufficient data.
The original response - the green route follows a weird path. WRONG result due to insufficient data.
As you can see on this map the input coordinates (blue pins) are showing a gap of several hundred meters. The pin in th middle is located close to the minor road from north to south (while the proper route follows a track from south to north). There is an input coordinate given in the south of the highway exit but it is located too far away from the critical one. This could lead to a disruption of the sequence and this means that there's no ongoing history.
As you can see on this map the input coordinates (blue pins) are showing a gap of several hundred meters. The pin in th middle is located close to the minor road from north to south (while the proper route follows a track from south to north). There is an input coordinate given in the south of the highway exit but it is located too far away from the critical one. This could lead to a disruption of the sequence and this means that there's no ongoing history.
In this request/response I added a heading of 330 degrees to the critical coordinate and therefore the engine is able to switch to the proper path based on the national road in the east.
In this request/response I added a heading of 330 degrees to the critical coordinate and therefore the engine is able to switch to the proper path based on the national road in the east.
The overall situation in the area with the CORRECT route driven by the driver
The overall situation in the area with the CORRECT route driven by the driver
So if you have access to optional data such as the heading at a GPS coordinate: use it!

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:
Joost
Posts: 307
Joined: Fri Apr 25, 2014 1:46 pm

Re: How heading improves matching

Post by Joost »

A common mistake witch people make with heading:

In xMapmatch 1 heading is a mandatory parameter. If this is not set explicitly either the customer software during serialization or the xMapmatch during deserialization will add a default value witch is usually 0.

So if you do not have headings available you need to turn the engine parameters that are influenced by headings off in the profile. A mininum snippet that does this:

Code: Select all

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<Profile dataCompatibilityVersion='2'>
	<Mapmatching majorVersion='1' minorVersion='0'>
		<Weights headingDifferenceRatingMaximum='0' headingDifferenceRatingNormal='0' headingDifferenceRatingMinimum='0' reducedHeadingDifferenceRating='0.0'/>
		<GeometricDeviations maximumHeadingDifference='360'/>
	</Mapmatching>
</Profile>
Joost Claessen
Senior Technical Consultant
PTV Benelux
User avatar
Bernd Welter
Site Admin
Posts: 2574
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: How heading improves matching (xMatch 2)

Post by Bernd Welter »

Wow, that info about xMapMatch1 was new to me... Just looked into the WSDL and I am surprised:
  • ID, speed and heading are required
  • lat, lon and timestamp are optional
Depending on the programming environment in use it might simply provide a datatype default value (0 for numbers, "" for strings) if the source code doesn't apply a value for a parameter ;-) and such a setting makes it impossible for the server to distinguish between "auto placed" and "by design".

Anyhow: thanks for the info! Brilliant teamwork!
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:
Post Reply