Mercurial > dive4elements > river
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()); |