public ExperimentResults<int> AreaPercentage_HC_RangeQuery( string dataFile, int order, double pcMin, double pcMax, double inc, int trials) { HCQueryEvaluator qe = new HCQueryEvaluator(dataFile, order, CurveType.UpLeft); ExperimentResults<int> result = new ExperimentResults<int>( "range_hc_ap_" + order + '_' + pcMin + '_' + pcMax); //Percentage for (double p = pcMin; p <= pcMax; p += inc) { //Calculate the range for this percenage. double area = TotalArea * 0.01 * p; double kmRange = Math.Sqrt(area / Math.PI); double degRange = kmRange / kmPerDeg; result.AddCategory(p + " percent"); //For each experiment, run trial number of times for (int i = 0; i < trials; i++) { result.AddResult(qe.RangeQuery( qp.GetRandomQueryPoint(), (float)degRange)); } } return result; }
public ExperimentResults<int> AreaSqMile_HC_RangeQuery( string dataFile, int order, double min, double max, double inc, int trials) { HCQueryEvaluator qe = new HCQueryEvaluator(dataFile, order, CurveType.UpLeft); ExperimentResults<int> result = new ExperimentResults<int>( "range_hc_sqmi_" + order + '_' + min + '_' + max); //Area for (double a = min; a <= max; a += inc) { //Calculate the range for this percenage. double miRange = Math.Sqrt(a / Math.PI); double degRange = miRange / 69; result.AddCategory(a + " Sq Mi"); //For each experiment, run trial number of times for (int i = 0; i < trials; i++) { result.AddResult(qe.RangeQuery( qp.GetRandomQueryPoint(), (float)degRange)); } } return result; }