1- from movingpandas import ObservationGapSplitter
1+ from movingpandas import ObservationGapSplitter , TemporalSplitter
22from mobiml .datasets import Dataset
33from .utils import trajectorycollection_to_df
44
@@ -8,12 +8,33 @@ def __init__(self, data: Dataset) -> None:
88 self .data = data
99
1010 def split (self , ** kwargs ) -> Dataset :
11- observation_gap = kwargs .pop ("observation_gap" , None )
11+ """
12+ Split trajectories by different rules.
13+
14+ Parameters
15+ ----------
16+ observation_gap : datetime.timedelta
17+ Time gap threshold.
18+ temporal_split_mode : string
19+ Split mode. ('hour', 'day', 'month' or 'year')
20+
21+ Examples
22+ --------
23+
24+ >>> TrajectorySlitter(dataset).split(observation_gap=timedelta(hours=1))
25+
26+ >>> TrajectorySlitter(dataset).split(temporal_split_mode='day')
27+ """
28+
29+ split_by_observation_gap = kwargs .pop ("observation_gap" , None )
30+ split_temporally = kwargs .pop ("temporal_split_mode" , None )
1231
1332 trajs = self .data .to_trajs ()
1433
15- if observation_gap :
16- trajs = ObservationGapSplitter (trajs ).split (gap = observation_gap )
34+ if split_by_observation_gap :
35+ trajs = ObservationGapSplitter (trajs ).split (gap = split_by_observation_gap )
36+ if split_temporally :
37+ trajs = TemporalSplitter (trajs ).split (mode = split_temporally )
1738
1839 df = trajectorycollection_to_df (trajs )
1940 self .data .df = df
0 commit comments