User Tools

Site Tools


access:track_statistics_definitions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
access:track_statistics_definitions [2015/10/27 23:03]
mjallison
access:track_statistics_definitions [2016/12/22 18:37] (current)
mjallison
Line 1: Line 1:
 The following statistics are computed from various track. The meanings and definitions of each statistic is as follows: The following statistics are computed from various track. The meanings and definitions of each statistic is as follows:
 +  * Track_Line: The connected line of locations along a single track
   * Travel: The total length of the track from the first point to the last point.   * Travel: The total length of the track from the first point to the last point.
-  * Cycle_Count:​ (Cycle_Line/Track intersections) / 2 +  * Cycle_Count:​ (Track_Line/Track intersections) / 2 
-  * Cycle_Time: ​Time from first cycle xing to last xing+  * Cycle_Time: ​Same as Moving_Time
   * Avg_Seconds_Per_Cycle:​ Cycle_Time / Cycle_count   * Avg_Seconds_Per_Cycle:​ Cycle_Time / Cycle_count
-  * Moving_Time:​ The time during which a vehicle moves during the entire day +  * Moving_Time:​ The time during which a vehicle moves during the entire day.
   * Average_Speed:​ Travel / Moving_Time   * Average_Speed:​ Travel / Moving_Time
   * Average_Cycle_Length:​ Travel / Cycle_Count   * Average_Cycle_Length:​ Travel / Cycle_Count
Line 17: Line 18:
  
 Notes: Notes:
-  * Lengths are computed by linear X-Y projected distances between adjacent track points. ​\\ +  * Lengths are computed by linear X-Y projected distances between adjacent track points. (track altitude is ignored)
-    ​(track altitude is ignored)+
   * If Working_Time is not defined, Morning_Start == Track_Start,​ Afternoon_End == Track_End, no lunch period.   * If Working_Time is not defined, Morning_Start == Track_Start,​ Afternoon_End == Track_End, no lunch period.
   * The "​Moving"​ (for Moving_Time) is defined as:   * The "​Moving"​ (for Moving_Time) is defined as:
 +     * time between adjacent points < 3 seconds AND
 +     * velocity between points > 0.5 FP
 +
 +
 +Example loop to calculate moving time and moving distance:
 +<​code>​
 +   // Uses some trackwork conventions for methods, reader is encouraged to translate ​
 +   // to the appropriate idiom for their environment.
 +   
 +   //
 +   // Points are assumed to be order in time such that time(pt[0]) < time(pt[1])
 +   //
 +   int movingTime = 0;
 +   float movingDistance = 0.0;
 +   
 +   for( int i = 1; i < GetNPoints();​ i++ )
 +   {
 +      CAgVertex v1 = GetAgVertexAt(i);​
 +      CAgVertex prev = GetAgVertexAt(i-1);​
 +
 +      time_t seconds = GetUTCTimeAtIndex(i).GetTimeT();​
 +      time_t prevSeconds = GetUTCTimeAtIndex(i-1).GetTimeT();​
 +
 +      float distanceDelta = v1.Distance(prev);​
 +      int prevTimeDelta ​ = CAgTime::​GetTimeDifferenceSeconds(GetUTCTimeAtIndex(i),​ GetUTCTimeAtIndex(i-1));​
 +      float tmpspeed = (prevDelta > 0) ? distance/​prevDelta : 0;
 +
 +      if( (prevDelta < idleTime) && (tmpspeed > idleFPS) )
 +      {
 +         ​movingTime += prevTimeDelta;​
 +         ​movingDistance += distanceDelta;​
 +      }
 +      ​
 +      printf( "​Moving seconds: %d\n", movingTime );
 +      printf( "​Moving feet   : %d\n", movingDistance );
 +   ​} ​     ​
 +</​code>​
access/track_statistics_definitions.1445986981.txt.gz · Last modified: 2015/10/27 23:03 by mjallison