Esempio n. 1
0
        public void PopulateDataTable(GPXAnalyzer frm, int Trackidx)
        {
            if (Trackidx >= 0)
            {
                trkType track = gpxInfo.trk[Trackidx];
                trksegType seg = track.trkseg[0];
                wptType wpt, wptPrev = null;

                double legLength;
                decimal ele;
                double speed = 0D;
                string name;
                decimal total_ascent = 0;
                decimal total_descent = 0;
                double total_distance = 0D;
                decimal ele_diff = 0;
                TimeSpan elapsedTime = new TimeSpan(0L);
                TimeSpan legTime = new TimeSpan(0L);

                for (int iPoint = 0; iPoint < seg.trkpt.Length; iPoint++)
                {
                    wpt = seg.trkpt[iPoint];
                    if (wpt.name == null || wpt.name.Equals("")) name = "WP:" + iPoint; else name = wpt.name;

                    legLength = distances[iPoint];
                    total_distance += legLength;

                    ele = wpt.ele;

                    if (wptPrev != null)
                    {
                        legTime = wpt.time - wptPrev.time;
                        elapsedTime += legTime;
                        speed = legLength / legTime.Seconds; // in metres/sec
                        speed = (legTime.Seconds * 1609.344) / (legLength * 60.0); //in minute miles

                      //  if ((total_distance / 1609.344))

                        ele_diff = wpt.ele - wptPrev.ele;
                        if (ele_diff < 0) total_descent += -ele_diff;
                        else total_ascent += ele_diff;
                    }

                    frm.dgvData_addRow(name,
                        legLength, ele, wpt.time, speed,
                        total_ascent, total_descent, total_distance, elapsedTime);
                    frm.DGVDataEntry_addRow(name, wpt.lat, wpt.lon);

                    wptPrev = wpt;
                }
               //     frm.dgvData_addRow
            }
        }