instead of filling arrays then trimming, now doGps analyzes the frames first to calculate record info