public void SetFrameByTime(DateTime time) { GPSPositionDataLine position = dataStream.GetPositionByTime(time); // kinda ugly here, but too tired, still working just a day before thanksgiving, it's 6pm, the building is empty double min_dt = Double.MaxValue; int min_frame = -1; for (int i = 0; i < dataStream.Positions.Count; i++) { if (dataStream.Positions[i] == position) { min_dt = Math.Abs((new TimeSpan(dataStream.Positions[i].TimeStamp.Ticks - time.Ticks)).TotalSeconds); min_frame = i; break; } } if (min_dt < 4) { SetFrame(min_frame); } else { SetFrame(-1); } toolStripStatusSecond.Text = "Req.: " + time.ToString("yyyy-MM-dd HH:mm:ss.fff") + " Diff: " + min_dt; }
public GPSFeature(DataStream stream, GPSPositionDataLine position) { this.DataStream = stream; this.Position = position; }