public void LineDistance() { var route1 = JsonConvert.DeserializeObject <Feature>(Tools.GetResource("linedistance.route1.geojson")); var route2 = JsonConvert.DeserializeObject <Feature>(Tools.GetResource("linedistance.route2.geojson")); Assert.AreEqual(Math.Round(Turf.LineDistance((IGeoJSONObject)route1.Geometry, "miles")), 202); var point1 = Turf.Point(new double[] { -75.343, 39.984 }); try { Turf.LineDistance(point1, "miles"); Assert.Fail(); } catch { Assert.Pass(); } var multiPoint1 = new MultiPoint(new List <Point>() { new Point(new GeographicPosition(39.984, -75.343)), new Point(new GeographicPosition(39.123, -75.534)) }); try { Turf.LineDistance(multiPoint1, "miles"); Assert.Fail(); } catch { Assert.Pass(); } Assert.AreEqual(Math.Round(Turf.LineDistance(route1, "miles")), 202); Assert.True((Turf.LineDistance(route2, "kilometers") - 742) < 1 && (Turf.LineDistance(route2, "kilometers") - 742) > (-1)); var feat = JsonConvert.DeserializeObject <Feature>(Tools.GetResource("linedistance.polygon.geojson")); Assert.AreEqual(Math.Round(1000 * Turf.LineDistance(feat, "kilometers")), 5599); feat = JsonConvert.DeserializeObject <Feature>(Tools.GetResource("linedistance.multilinestring.geojson")); Assert.AreEqual(Math.Round(1000 * Turf.LineDistance(feat, "kilometers")), 4705); feat = JsonConvert.DeserializeObject <Feature>(Tools.GetResource("linedistance.multipolygon.geojson")); Assert.AreEqual(Math.Round(1000 * Turf.LineDistance(feat, "kilometers")), 8334); var fc = JsonConvert.DeserializeObject <FeatureCollection>(Tools.GetResource("linedistance.featurecollection.geojson")); Assert.AreEqual(Math.Round(1000 * Turf.LineDistance(fc, "kilometers")), 10304); }