Description Usage Arguments Details Author(s) References See Also Examples
Function that matches GPS trajectories to the OSM digital road network using a fuzzy logic map matching algorithm.
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)
|
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. |
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.
Initial MapMatching Process (IMP)
Subsequent MapMatching Process along a link (SMP-1)
Subsequent MapMatching Process at a junction (SMP-2)
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).
Nikolai Gorte <n.gorte@gmail.com>
Quddus, M. A. 2006 (January). High Integrity Map Matching Algorithms for Advanced Transport Telematics Applications. Ph.D. thesis, Imperial College London, United Kingdom.
FIS_IMP
, FIS_SMP1
, FIS_SMP2
,
get_fis
, frbs
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.