Ejemplo n.º 1
0
        public void CalculateLoxodromicLineDistance(double lat1, double lon1, double lat2, double lon2, double distance)
        {
            var calculator = SpheroidCalculator.Wgs84();
            var result     = calculator.CalculateLoxodromicLine(new Point(lat1, lon1), new Point(lat2, lon2));

            Assert.That(result.Distance.ConvertTo(DistanceUnit.Nm).Value, Is.EqualTo(distance).Within(Millionth));
        }
Ejemplo n.º 2
0
        public void CalculateLoxodromicCourse(double lat1, double lon1, double lat2, double lon2, double distance)
        {
            var calculator = SpheroidCalculator.Wgs84();
            var result     = calculator.CalculateLoxodromicLine(new Point(lat1, lon1), new Point(lat2, lon2));

            Assert.That(result.Bearing12, Is.EqualTo(distance).Within(Millionth));
        }
Ejemplo n.º 3
0
        public void MeridionalDistance(double latitude, double parts)
        {
            var calculator = SpheroidCalculator.Wgs84();
            var result     = calculator.CalculateMeridionalDistance(latitude);

            Assert.That(result.ConvertTo(DistanceUnit.Nm), Is.EqualTo(parts).Within(Millionth));
        }
Ejemplo n.º 4
0
        public void MeridionalParts(double latitude, double parts)
        {
            var calculator = SpheroidCalculator.Wgs84();
            var result     = calculator.CalculateMeridionalParts(latitude);

            Assert.That(result, Is.EqualTo(parts).Within(Millionth));
        }
Ejemplo n.º 5
0
 public GeoContext(Spheroid spheroid)
 {
     Spheroid               = spheroid;
     GeodeticCalculator     = new SpheroidCalculator(spheroid);
     GeomagnetismCalculator = new GeomagnetismCalculator(spheroid);
     EqualityOptions        = new SpatialEqualityOptions();
     LongitudeWrapping      = false;
 }
Ejemplo n.º 6
0
        public void CalculateOrthodromicDestination(double lat1, double lon1, double angle, double distance, double lat2, double lon2)
        {
            var calculator = SpheroidCalculator.Wgs84();
            var result     = calculator.CalculateOrthodromicLine(new Point(lat1, lon1), angle, new Distance(distance, DistanceUnit.Nm).SiValue);

            Assert.That(result.Coordinate2.Latitude, Is.EqualTo(lat2).Within(Millionth));
            Assert.That(result.Coordinate2.Longitude, Is.EqualTo(lon2).Within(Millionth));
        }
Ejemplo n.º 7
0
        public void CalculateOrthodromicCourse(double lat1, double lon1, double lat2, double lon2, double c12, double c21)
        {
            var calculator = new SpheroidCalculator(Spheroid.Wgs84);
            var result     = calculator.CalculateOrthodromicLine(new Point(lat1, lon1), new Point(lat2, lon2));

            Assert.That(result.Bearing12, Is.EqualTo(c12).Within(Millionth));
            Assert.That(result.Bearing21, Is.EqualTo(c21).Within(Millionth));
        }
Ejemplo n.º 8
0
        public void Bug7(double lat1, double lon1, double lat2, double lon2)
        {
            var calculator = new SpheroidCalculator(Spheroid.Wgs84);
            var result     = calculator.CalculateOrthodromicLine(new Point(lat1, lon1), new Point(lat2, lon2));

            Console.WriteLine(result.Distance);
            Console.WriteLine(result.Bearing12);
            Console.WriteLine(result.Bearing21);
        }
Ejemplo n.º 9
0
 public GeoContext()
 {
     GeodeticCalculator = SpheroidCalculator.Wgs84();
     EqualityOptions    = new SpatialEqualityOptions();
     LongitudeWrapping  = false;
 }