Esempio n. 1
0
 public void CalculateOrthodromicDestination(double lat1, double lon1, double angle, double distance, double lat2, double lon2)
 {
     var calculator = new SpheroidCalculator(Spheroid.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));
 }
Esempio n. 2
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));
 }
Esempio n. 3
0
 public GeoContext(Spheroid spheroid)
 {
     Spheroid = spheroid;
     GeodeticCalculator = new SpheroidCalculator(spheroid);
     GeomagnetismCalculator = new GeomagnetismCalculator(spheroid);
     EqualityOptions = new SpatialEqualityOptions();
     LongitudeWrapping = false;
 }
Esempio n. 4
0
 public void MeridionalParts(double latitude, double parts)
 {
     var calculator = new SpheroidCalculator(Spheroid.Wgs84);
     var result = calculator.CalculateMeridionalParts(latitude);
     Assert.That(result, Is.EqualTo(parts).Within(Millionth));
 }
Esempio n. 5
0
 public void MeridionalDistance(double latitude, double parts)
 {
     var calculator = new SpheroidCalculator(Spheroid.Wgs84);
     var result = calculator.CalculateMeridionalDistance(latitude);
     Assert.That(result.ConvertTo(DistanceUnit.Nm), Is.EqualTo(parts).Within(Millionth));
 }
Esempio n. 6
0
 public void CalculateLoxodromicLineDistance(double lat1, double lon1, double lat2, double lon2, double distance)
 {
     var calculator = new SpheroidCalculator(Spheroid.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));
 }