Example #1
0
        public double GetDistanceInMeters(IHasCoordinates placemark1, IHasCoordinates placemark2)
        {
            if (placemark1.Coordinates?.Length != 1 || placemark2.Coordinates?.Length != 1)
            {
                throw new InvalidOperationException("Placemarks with multiple or zero coordinates are not supported");
            }

            return(placemark1.Coordinates[0].GetDistanceTo(placemark2.Coordinates[0]));
        }
Example #2
0
        public double CalculateRouteDistanceInMeters(IHasCoordinates placemark)
        {
            if (placemark.Coordinates.Length < 2)
            {
                return(0d);
            }

            var sum = 0d;

            for (var i = 1; i < placemark.Coordinates.Length; i++)
            {
                sum += placemark.Coordinates[i].GetDistanceTo(placemark.Coordinates[i - 1]);
            }

            return(sum);
        }
Example #3
0
 public bool PlacemarkIsShape(IHasCoordinates placemark)
 {
     return(placemark.Coordinates.Length > 1);
 }