Exemple #1
0
            public VectorPoint(GpsPoint point)
            {
                var el   = point.Elevation + RadiusEarth;
                var latR = Radians(90 - point.Latitude);
                var lonR = Radians(point.Longitude);

                X = el * Math.Cos(lonR) * Math.Sin(latR);
                Y = el * Math.Sin(lonR) * Math.Sin(latR);
                Z = el * Math.Cos(latR);
            }
Exemple #2
0
        private GpsPoint GetPointFromXml(XElement xel)
        {
            var ret = new GpsPoint()
            {
                Elevation = 0.0d,
                Latitude  = 0.0d,
                Longitude = 0.0d,
                Time      = DateTime.Now
            };

            var lat = xel.Attributes().FirstOrDefault(xatt => String.Equals(xatt.Name.LocalName, "lat", StringComparison.InvariantCultureIgnoreCase));

            if (lat != null)
            {
                ret.Latitude = double.Parse(lat.Value);
            }
            var lon = xel.Attributes().FirstOrDefault(xatt => String.Equals(xatt.Name.LocalName, "lon", StringComparison.InvariantCultureIgnoreCase));

            if (lon != null)
            {
                ret.Longitude = double.Parse(lon.Value);
            }

            var ele = xel.Elements().FirstOrDefault(xele => String.Equals(xele.Name.LocalName, "ele", StringComparison.InvariantCultureIgnoreCase));

            if (ele != null)
            {
                ret.Elevation = double.Parse(ele.Value);
            }

            var time = xel.Elements().FirstOrDefault(xtime => String.Equals(xtime.Name.LocalName, "time", StringComparison.InvariantCultureIgnoreCase));

            if (time != null)
            {
                ret.Time = DateTime.Parse(time.Value);
            }

            return(ret);
        }
Exemple #3
0
 private double DistanceBetween(GpsPoint first, GpsPoint second)
 {
     return((new VectorPoint(first)).DistanceFrom(new VectorPoint(second)));
 }