public GeodeticCircle(GeodeticCoordinate origin, double radius, Int32 segments) { double segmentIncrease = 360d / segments; for (Int32 i = 0; i < segments; i++) { ProtectedShapeCoordinates.Add(DistanceCalculator.CoordFromDistance(origin, i * segmentIncrease, radius)); } }
public void CoordFromDistanceTest() { var start = new GeodeticCoordinate() { Latitude = 63.83451, Longitude = 20.24655 }; double bearing = 140d; double distance = 1.3d; var expected = new GeodeticCoordinate() { Latitude = 63.8256, Longitude = 20.2636 }; var actual = DistanceCalculator.CoordFromDistance(start, bearing, distance); Assert.IsTrue(expected.Equals(actual)); }