public void TestDistance() { var from = new Coordinate(-75.343, 39.984); var to = new Coordinate(-75.534, 39.123); var d = Turf.Distance(from, to); Assert.AreEqual(d, 97.12922118967835); }
public void Distance() { var pt1 = Turf.Point(new double[] { -75.343, 39.984 }); var pt2 = Turf.Point(new double[] { -75.534, 39.123 }); Assert.AreEqual(Turf.Distance(pt1, pt2, "miles"), 60.37218405837491, 0.00001, "miles"); Assert.AreEqual(Turf.Distance(pt1, pt2, "nauticalmiles"), 52.461979624130436, 0.00001, "miles"); Assert.AreEqual(Turf.Distance(pt1, pt2, "kilometers"), 97.15957803131901, 0.00001, "kilometers"); Assert.AreEqual(Turf.Distance(pt1, pt2, "kilometres"), 97.15957803131901, 0.00001, "kilometres"); Assert.AreEqual(Turf.Distance(pt1, pt2, "radians"), 0.015245501024842149, 0.00001, "radians"); Assert.AreEqual(Turf.Distance(pt1, pt2, "degrees"), 0.8735028650863799, 0.00001, "degrees"); Assert.AreEqual(Turf.Distance(pt1, pt2), 97.15957803131901, 0.00001, "default=kilometers"); }
public void MidPoint() { var units = "miles"; var pt1 = Turf.Point(new double[] { 0, 0 }); var pt2 = Turf.Point(new double[] { 10, 0 }); var mid = Turf.MidPoint(pt1, pt2); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- horizonatal equator"); pt2 = Turf.Point(new double[] { 0, 10 }); mid = Turf.MidPoint(pt1, pt2); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- vertical from equator"); mid = Turf.MidPoint(pt2, pt1); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- vertical to equator"); pt1 = Turf.Point(new double[] { -1, 10 }); pt2 = Turf.Point(new double[] { 1, -1 }); mid = Turf.MidPoint(pt1, pt2); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- diagonal back over equator"); pt1 = Turf.Point(new double[] { -5, -1 }); pt2 = Turf.Point(new double[] { 5, 10 }); mid = Turf.MidPoint(pt1, pt2); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- diagonal forward over equator"); pt1 = Turf.Point(new double[] { 22.5, 21.94304553343818 }); pt2 = Turf.Point(new double[] { 92.10937499999999, 46.800059446787316 }); mid = Turf.MidPoint(pt1, pt2); Assert.AreEqual(Turf.Distance(pt1, mid, units), Turf.Distance(mid, pt2, units), 0.000001, "midpoint -- long distance"); }