mm: Map Matching

Description Usage Arguments Details Author(s) References See Also Examples

Description

Function that matches GPS trajectories to the OSM digital road network using a fuzzy logic map matching algorithm.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mm(traj, ...)

mm.SpatialPointsDataFrame(traj, plot = FALSE, DRN = NULL, err_region = 38)

## S4 method for signature 'SpatialPointsDataFrame'
mm(traj, plot = FALSE, DRN = NULL,
  err_region = 38)

mm.Track(traj, plot = FALSE, DRN = NULL, err_region = 38)

## S4 method for signature 'Track'
mm(traj, plot = FALSE, DRN = NULL, err_region = 38)

mm.Tracks(traj, plot = FALSE, DRN = NULL, err_region = 38)

## S4 method for signature 'Tracks'
mm(traj, plot = FALSE, DRN = NULL, err_region = 38)

mm.TracksCollection(traj, plot = FALSE, DRN = NULL, err_region = 38)

## S4 method for signature 'TracksCollection'
mm(traj, plot = FALSE, DRN = NULL,
  err_region = 38)

Arguments

traj

SpatialPointsDataFrame-class or one of the Track classes containing the GPS trajectories. See Details for additional info.

...

not used.

plot

boolean. Matched trajectory will be plotted if true.

DRN

optional DigitalRoadNetwork that should be used.

err_region

Radius of a circle around a GPS position.

Details

mm is the main function of this package. The input to the function is a SpatialPointsDataFrame-class or one of the Track classes containing the GPS trajectory that should be map matched.

To succesfully apply the map matching algorithm the data part of the trajectories must include data for HDOP, Speed and Bearing, with the columns named "GPS.HDOP", "GPS.Speed" and "GPS.Bearing" respectively. Values for GPS.Speed must be given in km/h. Missing values in the data will be replaced with zeros and can lead to incorrect matchings.

The map data is obtained from OpenStreetMap.

The algorithm consists of three major parts responsible for the identification of the links the vehicle is travelling on.

Each of this processes uses a Fuzzy Inference System (FIS) for the link identification. Input variables, fuzzy subsets and fuzzy rules for each FIS can be seen in FIS_IMP, FIS_SMP1 and FIS_SMP2 or by getting the corresponding frbs object using get_fis.

A detailed description of the fuzzy logic map matching algorithm and the FIS can be found in Quddus (2006).

Author(s)

Nikolai Gorte <n.gorte@gmail.com>

References

Quddus, M. A. 2006 (January). High Integrity Map Matching Algorithms for Advanced Transport Telematics Applications. Ph.D. thesis, Imperial College London, United Kingdom.

See Also

FIS_IMP, FIS_SMP1, FIS_SMP2, get_fis, frbs

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## Not run: 
data(traj) ## SpatialPointsDataFrame
matched_traj <- mm(traj, plot = TRUE)

## Create Track
require(trajectories)
require(spacetime)
traj_points <- SpatialPoints(coordinates(traj),CRS(proj4string(traj)))
track <- STIDF(traj_points, traj$time, traj@data)
track <- Track(track)
matched_track <- mm(track, plot = TRUE)

## End(Not run)

ngort01/fuzzyMM documentation built on May 23, 2019, 4:43 p.m.