Beispiel #1
0
        private RouteFeature FindClosetFeature(double[] p, RouteFeature[] features)
        {
            var closet = features.First();
            var dist   = DistanceHelpers.CalcualteDistanceToFeatureInMeters(
                closet.Data.Coordinates.Select(x => x.ToDoubleArray()).ToArray(), p);

            foreach (var f in features.Skip(1))
            {
                var newDistance =
                    DistanceHelpers.CalcualteDistanceToFeatureInMeters(
                        f.Data.Coordinates.Select(x => x.ToDoubleArray()).ToArray(), p);

                if (newDistance < dist)
                {
                    dist   = newDistance;
                    closet = f;
                }
            }

            return(closet);
        }