comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java @ 3603:d2ae58f6730d

FixA: Use the column cache to establish a consistent index scheme. flys-artifacts/trunk@5229 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 22 Aug 2012 10:51:29 +0000
parents e111902834d3
children 2382b26079ac
comparison
equal deleted inserted replaced
3602:e1fd2dfdcb80 3603:d2ae58f6730d
66 @Override 66 @Override
67 public CalculationResult innerCalculate( 67 public CalculationResult innerCalculate(
68 FixingsOverview overview, 68 FixingsOverview overview,
69 Function func 69 Function func
70 ) { 70 ) {
71 FitResult fitResult = doFitting(overview, func); 71 ColumnCache cc = new ColumnCache();
72
73 FitResult fitResult = doFitting(overview, cc, func);
72 74
73 if (fitResult == null) { 75 if (fitResult == null) {
74 return new CalculationResult(this); 76 return new CalculationResult(this);
75 } 77 }
76 78
77 KMIndex<AnalysisPeriod []> analysisPeriods = 79 KMIndex<AnalysisPeriod []> analysisPeriods =
78 calculateAnalysisPeriods( 80 calculateAnalysisPeriods(
79 func, 81 func,
80 fitResult.getParameters(), 82 fitResult.getParameters(),
81 overview); 83 overview,
84 cc);
82 85
83 analysisPeriods.sort(); 86 analysisPeriods.sort();
84 87
85 FixAnalysisResult far = new FixAnalysisResult( 88 FixAnalysisResult far = new FixAnalysisResult(
86 fitResult.getParameters(), 89 fitResult.getParameters(),
101 } 104 }
102 105
103 protected KMIndex<AnalysisPeriod []> calculateAnalysisPeriods( 106 protected KMIndex<AnalysisPeriod []> calculateAnalysisPeriods(
104 Function function, 107 Function function,
105 Parameters parameters, 108 Parameters parameters,
106 FixingsOverview overview 109 FixingsOverview overview,
110 ColumnCache cc
107 ) { 111 ) {
108 Range range = new Range(from, to); 112 Range range = new Range(from, to);
109 113
110 int kmIndex = parameters.columnIndex("km"); 114 int kmIndex = parameters.columnIndex("km");
111 int maxQIndex = parameters.columnIndex("max_q"); 115 int maxQIndex = parameters.columnIndex("max_q");
112
113 ColumnCache cc = new ColumnCache();
114 116
115 double [] wq = new double[2]; 117 double [] wq = new double[2];
116 118
117 int [] parameterIndices = 119 int [] parameterIndices =
118 parameters.columnIndices(function.getParameterNames()); 120 parameters.columnIndices(function.getParameterNames());

http://dive4elements.wald.intevation.org