Map Matching

Feature Description

With the rapid development of technologies such as navigation positioning and mobile internet, trajectory big data has become a classic spatiotemporal big data type.
However, due to communication anomalies, positioning errors, and other reasons, it is difficult to ensure that trajectory point data completely matches the road network. Map matching is the process of associating a series of ordered trajectory location points to the actual road network. It can be seen as a data preprocessing task for trajectory data processing, serving the subsequent calculation and analysis of trajectory lines.

In the figure below, the purple point set represents trajectory point data, and the blue solid line represents the line data after road matching of trajectory points.

Map matching divides trajectory points according to the identification field, sorts and splits trajectories by the time field, finds the most likely passing road sections for each trajectory, aiming to restore the real path based on trajectory points. If map matching is not performed, the movement trajectory may deviate from the road network (for example, locating to roadside buildings, ponds, etc.).

GPA can be used to build a complete map matching process (recommended). The figure below shows the build map matching model:

Note:

  • Map matching requires the use of the network data model and optimal path analysis method in SuperMap iObjects Java components.
  • The result returns a trajectory line dataset (FeatureRDD). In the result data, each trajectory line will generate a start time field and an end time field, used to record the start and end times of the current trajectory.

Parameter description

Parameter Name Default Value Parameter Interpretation Parameter Type
Trajectory Point Dataset   Trajectory Point Dataset FeatureRDD
Point Identification Field   Point identification field. Points with the same identifier are grouped together, for example, mobile phone number. String
Field Used to Identify Element Time   Field used to identify the time of elements. When the time field is not set, it will default to looking for the default time field from the element dataset. If there is no default time field, an exception will be thrown. String
Trajectory Split Object
(Optional)
  The trajectory split object can be constructed using the [Create Trajectory Split Object] tool. TrackSplitter
Optimal Path Analysis Parameters   Optimal path analysis parameters. They can be created using the [Build SSC Path Analysis Parameters] tool and the [Build Path Analysis Parameters] tool to create the path analysis parameters object. PathAnalystSettingInfo
Trajectory Point Error Value
(Optional)
30.0 Trajectory point error value, such as GPS error value, in meters. If the distance from a trajectory point to the nearest road exceeds the error value, the trajectory point is considered invalid. Therefore, setting a reasonable error value has a direct impact on the map matching results. If the obtained trajectory points have high accuracy, setting a smaller value can effectively improve performance, for example, 15 meters. The default value is 30 meters. Double
Maximum Speed Limit
(Optional)
150.0 Maximum speed limit, in kilometers per hour. When the calculated speed value between two adjacent points is greater than the specified speed limit, these two points are considered unreachable, meaning there is no valid road connection. The default value is 150 km/h. Double