public void Test1Second() { TcxTrackpoint c = new TcxTrackpoint(); c.IsTimeDefined = true; c.Time = new DateTime(2017, 07, 01, 11, 10, 10); c.IsAltitudeMetersDefined = false; TcxTrackpoint p = new TcxTrackpoint(); p.IsTimeDefined = true; p.Time = new DateTime(2017, 07, 01, 11, 10, 09); p.IsAltitudeMetersDefined = true; p.AltitudeMeters = 100; TcxTrackpoint n = new TcxTrackpoint(); n.IsTimeDefined = true; n.Time = new DateTime(2017, 07, 01, 11, 10, 11); n.IsAltitudeMetersDefined = true; n.AltitudeMeters = 103; List <TcxTrackpoint> next = new List <TcxTrackpoint>(); next.Add(n); var result = c.CombineTrackpoint(p, next); Assert.AreEqual(101, result.AltitudeMeters, 0.5); }
public static List <TcxActivity> Convert(string xmlFilePath) { List <TcxActivity> result = new List <TcxActivity>(); string xmlContent = File.ReadAllText(xmlFilePath); XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlContent); // full document if (doc.HasChildNodes) { var trainingCenterDatabase = doc.GetElementsByTagName("TrainingCenterDatabase"); foreach (XmlNode trainingCenterDatabaseNode in trainingCenterDatabase) { var activities = GetChildren(trainingCenterDatabaseNode, "Activities"); foreach (XmlNode act in activities) { var activitiesChildren = GetChildren(act, "Activity"); foreach (XmlNode activity in activitiesChildren) { TcxActivity tcxAct = new TcxActivity(); var sport = activity.Attributes["Sport"]; var idChild = GetChildren(activity, "Id"); var lapChild = GetChildren(activity, "Lap"); tcxAct.Id = GetChildValue(activity, "Id"); tcxAct.Sport = sport.Value; tcxAct.Laps = new List <TcxLap>(); foreach (XmlNode lapNode in lapChild) { TcxLap lap = new TcxLap(); lap.StartTime = lapNode.Attributes["StartTime"].Value; lap.Track = new TcxTrack(); lap.Track.TrackPoints = new List <TcxTrackpoint>(); var trackNodes = GetChildren(lapNode, "Track"); foreach (var trackNode in trackNodes) { var trackPointsNodes = GetChildren(trackNode, "Trackpoint"); foreach (var trackPointNode in trackPointsNodes) { TcxTrackpoint point = LoadTrackpoint(trackPointNode); lap.Track.TrackPoints.Add(point); } } tcxAct.Laps.Add(lap); } result.Add(tcxAct); } } } } return(result); }
public void TestNextMoreDiff() { TcxTrackpoint c = new TcxTrackpoint(); c.IsTimeDefined = true; c.Time = new DateTime(2017, 07, 01, 11, 10, 10); c.IsPositionDefined = false; TcxTrackpoint p = new TcxTrackpoint(); p.IsTimeDefined = true; p.Time = new DateTime(2017, 07, 01, 11, 10, 09); p.IsPositionDefined = true; p.Position = new TcxPosition(51.085341, 17.043303); TcxTrackpoint n = new TcxTrackpoint(); n.IsTimeDefined = true; n.Time = new DateTime(2017, 07, 01, 11, 10, 15); n.IsPositionDefined = true; n.Position = new TcxPosition(51.085286, 17.043645); List <TcxTrackpoint> next = new List <TcxTrackpoint>(); next.Add(n); var result = c.CombineTrackpoint(p, next); double lat = 51.0853318; double lon = 17.04336; Assert.AreEqual(lat, result.Position.Latitude, 0.000001); Assert.AreEqual(lon, result.Position.Longitude, 0.000001); }
private void button1_Click_1(object sender, EventArgs e) { TcxTrackpoint c = new TcxTrackpoint(); c.IsTimeDefined = true; c.Time = new DateTime(2017, 07, 01, 11, 10, 10); c.IsPositionDefined = false; TcxTrackpoint p = new TcxTrackpoint(); c.IsTimeDefined = true; c.Time = new DateTime(2017, 07, 01, 11, 10, 09); c.IsPositionDefined = true; c.Position = new TcxPosition(51.085341, 17.043303); TcxTrackpoint n = new TcxTrackpoint(); c.IsTimeDefined = true; c.Time = new DateTime(2017, 07, 01, 11, 10, 11); c.IsPositionDefined = true; c.Position = new TcxPosition(51.085286, 17.043645); List <TcxTrackpoint> next = new List <TcxTrackpoint>(); next.Add(n); var result = c.CombineTrackpoint(p, next); double lat = (51.085341 + 51.085286) / 2; double lon = (17.043303 + 17.043645) / 2; }
private static TcxTrackpoint LoadTrackpoint(XmlNode trackpointNode) { TcxTrackpoint trackpoint = new TcxTrackpoint(); var time = GetDateTimeChildValue(trackpointNode, TcxTrackpoint.ATTR_TIME); trackpoint.IsTimeDefined = time.HasValue; if (time != null) { trackpoint.Time = time.Value; } var altitudeMeters = GetDoubleChildValue(trackpointNode, TcxTrackpoint.ATTR_ALTITUDE_METERS); trackpoint.IsAltitudeMetersDefined = altitudeMeters.HasValue; if (altitudeMeters.HasValue) { trackpoint.AltitudeMeters = altitudeMeters.Value; } var distanceMeters = GetDoubleChildValue(trackpointNode, TcxTrackpoint.ATTR_DISTANCE_METERS); trackpoint.IsDistanceMetersDefined = distanceMeters.HasValue; if (distanceMeters.HasValue) { trackpoint.DistanceMeters = distanceMeters.Value; } var cadence = GetDoubleChildValue(trackpointNode, TcxTrackpoint.ATTR_CADENCE); trackpoint.IsCadenceDefined = cadence.HasValue; if (cadence.HasValue) { trackpoint.Cadence = cadence.Value; } var sensorState = GetChildValue(trackpointNode, TcxTrackpoint.ATTR_SENSOR_STATE); trackpoint.IsSensorStateDefined = (sensorState != null); if (sensorState != null) { trackpoint.SensorState = sensorState; } var heartRateNode = GetChild(trackpointNode, TcxTrackpoint.ATTR_HEART_RATE_BPM); trackpoint.IsHeartRateBpmDefined = heartRateNode != null; if (heartRateNode != null) { var heartRateValue = GetDoubleChildValue(heartRateNode, TcxTrackpoint.ATTR_VALUE); trackpoint.IsHeartRateBpmDefined = heartRateValue.HasValue; if (heartRateValue.HasValue) { trackpoint.HeartRateBpm = heartRateValue.Value; } } return(trackpoint); }