
Group existing trajectory objects or split them apart
Source:R/trajectory_constructors.R
group_trajectories.RdTrajectory objects hold the trajectory functions, and related information,
from one or more trip IDs. This function groups the fit trajectories from
multiple trips into one object, or splits a grouped object into many single
trajectory objects, one for each trip. See help(get_trajectory_fun) for
more information.
Arguments
- trajectories
A trajectory object to operate on. Can be a list of single trajectories, a list of grouped trajectories, or one grouped trajectory.
- grouping
A character string, either
"group"to group all trajectories intrajectories, or"split"to splittrajectoriesinto a list of single trajectories.
Value
If grouping = "group", a group trajectory object; if
grouping = "split", a list of single trajectory objects.
Examples
# Get input data
lineE_mono <- new_transittraj_data("make_monotonic")
# Fit a list of single trajectory functions
lineE_traj_singles <- get_trajectory_fun(distance_df = lineE_mono,
return_group_function = FALSE)
# Show sample singles
print(length(lineE_traj_singles))
#> [1] 11
print(lineE_traj_singles[[2]])
#> [1] "AVL single trajectory for trip ID 63383917"
# Run function: group singles
lineE_traj_grouped <- group_trajectories(trajectories = lineE_traj_singles,
grouping = "group")
summary(lineE_traj_grouped)
#> ------
#> AVL Group Trajectory Object
#> ------
#> Number of trips: 11
#> Total distance range: 0.6366599 to 35292.87
#> Total time range: 1779886240 to 1779898116
#> ------
#> Trajectory function present: TRUE
#> --> Trajectory interpolation method: monoH.FC
#> --> Maximum derivative: 3
#> --> Fit with speeds: TRUE
#> Inverse function present: TRUE
#> --> Inverse function tolerance: 0.01
#> ------
# Run function: split apart again
lineE_traj_singles_2 <- group_trajectories(trajectories = lineE_traj_grouped,
grouping = "split")
print(length(lineE_traj_singles_2))
#> [1] 11
print(lineE_traj_singles_2[[2]])
#> [1] "AVL single trajectory for trip ID 63383917"