Example #1
0
        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);
        }
Example #2
0
        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");
        }
Example #3
0
        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");
        }