|
@@ -68,43 +68,32 @@ impl Track {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
fn truncate_by_length(&mut self, length_km: f64) {
|
|
fn truncate_by_length(&mut self, length_km: f64) {
|
|
|
- // let mut sum = 0.0;
|
|
|
|
|
- // let mut prev_point = &self.points[0];
|
|
|
|
|
-
|
|
|
|
|
- let maxpts = 1;
|
|
|
|
|
-
|
|
|
|
|
- for i in 0..self.points.len() {
|
|
|
|
|
- println!("len {:?}", self.len());
|
|
|
|
|
- // let d = dist(prev_point, &self.points[i]);
|
|
|
|
|
- // sum += d;
|
|
|
|
|
- // prev_point = &self.points[i];
|
|
|
|
|
-
|
|
|
|
|
- if self.len() > length_km {
|
|
|
|
|
|
|
+ while self.len() > length_km {
|
|
|
self.points.remove(0);
|
|
self.points.remove(0);
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
fn parse(&mut self) {
|
|
fn parse(&mut self) {
|
|
|
- // let mut prev_point = &self.points[0];
|
|
|
|
|
- // let mut prev_time = &self.points[0].time;
|
|
|
|
|
-
|
|
|
|
|
let mut fifo_track = Track {
|
|
let mut fifo_track = Track {
|
|
|
..Default::default()
|
|
..Default::default()
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- let mut i = 0;
|
|
|
|
|
-
|
|
|
|
|
- for pt in &self.points {
|
|
|
|
|
- i = i + 1; if i > 109 {break};
|
|
|
|
|
|
|
+ let mut analyzed_track = Track { name: "analyzed".to_string(),
|
|
|
|
|
+ ..Default::default()
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ let mut bad_track = Track { name: "bad".to_string(),
|
|
|
|
|
+ ..Default::default()
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ for pt in &self.points {
|
|
|
|
|
+ // i = i + 1; if i > 30 {break};
|
|
|
fifo_track.points.push(pt.clone());
|
|
fifo_track.points.push(pt.clone());
|
|
|
|
|
+ analyzed_track.points.push(pt.clone());
|
|
|
fifo_track.truncate_by_length(0.1);
|
|
fifo_track.truncate_by_length(0.1);
|
|
|
|
|
+ println!("Speed {:?} @ Km {:?}", fifo_track.speed(), analyzed_track.len());
|
|
|
|
|
|
|
|
- println!("fifo len {:?}", fifo_track.points.len());
|
|
|
|
|
- // println!("fifo trk {:?}", fifo_track.points.len());
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|