// ================================================== // Helpers public decimal GetMaxDOP(IGpxPoint point) { var h = point.HDOP ?? 0; var v = point.VDOP ?? 0; var p = point.PDOP ?? 0; var dop = h; if (v > dop) { dop = v; } if (p > dop) { dop = p; } return(dop); }
public TopoPointInfo(ITopoTrackInfo track, IGpxPoint point) { _track = track; _point = point; }
// ================================================== // Internal private void SetPoint(XmlNode node, IGpxPoint p) { var lat = node.OwnerDocument.CreateAttribute("lat"); node.Attributes.Append(lat); lat.Value = p.Latitude.ToString(); var lon = node.OwnerDocument.CreateAttribute("lon"); node.Attributes.Append(lon); lon.Value = p.Longitude.ToString(); if (p.Timestamp.HasValue) { var time = node.OwnerDocument.CreateElement("time", Namespace); node.AppendChild(time); time.InnerText = p.Timestamp.Value.ToUniversalTime().ToString("s") + "Z"; } if (p.Elevation.HasValue) { var ele = node.OwnerDocument.CreateElement("ele", Namespace); node.AppendChild(ele); ele.InnerText = p.Elevation.Value.ToString(); } if (p.Course.HasValue) { var course = node.OwnerDocument.CreateElement("course", Namespace); node.AppendChild(course); course.InnerText = p.Course.Value.ToString(); } if (p.Speed.HasValue) { var speed = node.OwnerDocument.CreateElement("speed", Namespace); node.AppendChild(speed); speed.InnerText = p.Speed.Value.ToString(); } if (!String.IsNullOrWhiteSpace(p.Source)) { var src = node.OwnerDocument.CreateElement("src", Namespace); node.AppendChild(src); src.InnerText = p.Source; } if (p.Sats.HasValue) { var sat = node.OwnerDocument.CreateElement("sat", Namespace); node.AppendChild(sat); sat.InnerText = p.Sats.Value.ToString(); } if (p.HDOP.HasValue) { var hdop = node.OwnerDocument.CreateElement("hdop", Namespace); node.AppendChild(hdop); hdop.InnerText = p.HDOP.Value.ToString(); } if (p.VDOP.HasValue) { var vdop = node.OwnerDocument.CreateElement("vdop", Namespace); node.AppendChild(vdop); vdop.InnerText = p.VDOP.Value.ToString(); } if (p.PDOP.HasValue) { var pdop = node.OwnerDocument.CreateElement("pdop", Namespace); node.AppendChild(pdop); pdop.InnerText = p.PDOP.Value.ToString(); } }