private List <GeoCoordinate> ClustersGenerator() { List <GeoCoordinate> clustersIdList = new List <GeoCoordinate>(); double minLatitude = ReportsList.Min(r => r.GetCoordinate().Latitude); double maxLatitude = ReportsList.Max(r => r.GetCoordinate().Latitude); double minLongitude = ReportsList.Min(r => r.GetCoordinate().Longitude); double maxLongitude = ReportsList.Max(r => r.GetCoordinate().Longitude); for (int i = 0; i < K; i++) { double latitude = minLatitude + rand.NextDouble() * (maxLatitude - minLatitude); double longitude = minLongitude + rand.NextDouble() * (maxLongitude - minLongitude); GeoCoordinate coordinate = new GeoCoordinate(latitude, longitude); clustersIdList.Add(coordinate); } return(clustersIdList); }