1 | package com.ether; |
---|
2 | |
---|
3 | import com.medias.database.objects.Parametre; |
---|
4 | import com.medias.database.objects.Plateforme; |
---|
5 | import com.medias.database.objects.TypePlateforme; |
---|
6 | import com.medias.database.objects.Unite; |
---|
7 | import org.jetbrains.annotations.NotNull; |
---|
8 | import org.jetbrains.annotations.Nullable; |
---|
9 | |
---|
10 | import java.util.ArrayList; |
---|
11 | import java.util.Arrays; |
---|
12 | import java.util.Calendar; |
---|
13 | import java.util.Date; |
---|
14 | import java.util.List; |
---|
15 | |
---|
16 | public class BouchonHelper |
---|
17 | { |
---|
18 | public static Plateforme createPlateform() |
---|
19 | { |
---|
20 | final Plateforme plateform = new Plateforme(); |
---|
21 | plateform.setPlateformeId( 3 ); |
---|
22 | plateform.setPlateformeNom( "LHVP" ); |
---|
23 | plateform.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) ); |
---|
24 | return plateform; |
---|
25 | } |
---|
26 | |
---|
27 | public static List<Plateforme> createPlateforms() |
---|
28 | { |
---|
29 | final List<Plateforme> plateforms = new ArrayList<Plateforme>(); |
---|
30 | final Plateforme pf = createPlateform(); |
---|
31 | plateforms.add( pf ); |
---|
32 | |
---|
33 | final Plateforme pf2 = new Plateforme(); |
---|
34 | pf2.setPlateformeId( 1 ); |
---|
35 | pf2.setPlateformeNom( "SIRTA" ); |
---|
36 | pf2.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) ); |
---|
37 | plateforms.add( pf2 ); |
---|
38 | |
---|
39 | final Plateforme pf3 = new Plateforme(); |
---|
40 | pf3.setPlateformeId( 4 ); |
---|
41 | pf3.setPlateformeNom( "ATR-42" ); |
---|
42 | pf3.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) ); |
---|
43 | plateforms.add( pf3 ); |
---|
44 | |
---|
45 | final Plateforme pf4 = new Plateforme(); |
---|
46 | pf4.setPlateformeId( 6 ); |
---|
47 | pf4.setPlateformeNom( "Piper-Aztec" ); |
---|
48 | pf4.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) ); |
---|
49 | plateforms.add( pf4 ); |
---|
50 | |
---|
51 | return plateforms; |
---|
52 | } |
---|
53 | |
---|
54 | public static Plateforme getPlateformById( @NotNull final Integer plateformId ) |
---|
55 | { |
---|
56 | if( null != plateformId && plateformId == 1 ) |
---|
57 | { |
---|
58 | final Plateforme pf2 = new Plateforme(); |
---|
59 | pf2.setPlateformeId( 1 ); |
---|
60 | pf2.setPlateformeNom( "SIRTA" ); |
---|
61 | pf2.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) ); |
---|
62 | return pf2; |
---|
63 | } |
---|
64 | else if( null != plateformId && plateformId == 3 ) |
---|
65 | { |
---|
66 | return createPlateform(); |
---|
67 | } |
---|
68 | else if( null != plateformId && plateformId == 4 ) |
---|
69 | { |
---|
70 | final Plateforme pf3 = new Plateforme(); |
---|
71 | pf3.setPlateformeId( 4 ); |
---|
72 | pf3.setPlateformeNom( "ATR-42" ); |
---|
73 | pf3.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) ); |
---|
74 | return pf3; |
---|
75 | } |
---|
76 | else if( null != plateformId && plateformId == 6 ) |
---|
77 | { |
---|
78 | final Plateforme pf4 = new Plateforme(); |
---|
79 | pf4.setPlateformeId( 6 ); |
---|
80 | pf4.setPlateformeNom( "Piper-Aztec" ); |
---|
81 | pf4.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) ); |
---|
82 | return pf4; |
---|
83 | } |
---|
84 | else return null; |
---|
85 | } |
---|
86 | |
---|
87 | public static Parametre createParameter() |
---|
88 | { |
---|
89 | final Parametre parametre = new Parametre(); |
---|
90 | parametre.setParametreId( 3 ); |
---|
91 | parametre.setParametreNom( "Ozone" ); |
---|
92 | parametre.setParametreCode( "O3" ); |
---|
93 | |
---|
94 | final Unite unit = new Unite(); |
---|
95 | unit.setUniteCode( "ppbv" ); |
---|
96 | parametre.setUnite( unit ); |
---|
97 | |
---|
98 | return parametre; |
---|
99 | } |
---|
100 | |
---|
101 | public static List<Parametre> createParameters( @Nullable final Integer plateformId ) |
---|
102 | { |
---|
103 | final Unite unitPpbv = new Unite(); |
---|
104 | unitPpbv.setUniteCode( "ppbv" ); |
---|
105 | final Unite units_1 = new Unite(); |
---|
106 | units_1.setUniteCode( "s-1" ); |
---|
107 | final Unite unitMbar = new Unite(); |
---|
108 | unitMbar.setUniteCode( "mbar" ); |
---|
109 | final Unite unitC = new Unite(); |
---|
110 | unitC.setUniteCode( "°C" ); |
---|
111 | |
---|
112 | |
---|
113 | final List<Parametre> parameters = new ArrayList<Parametre>(); |
---|
114 | |
---|
115 | final Parametre pOzone = createParameter(); |
---|
116 | |
---|
117 | final Parametre pJNO2 = new Parametre(); |
---|
118 | pJNO2.setParametreId( 1 ); |
---|
119 | pJNO2.setParametreNom( "Photolysis Frequency JNO2" ); |
---|
120 | pJNO2.setParametreCode( "JNO2" ); |
---|
121 | pJNO2.setUnite( units_1 ); |
---|
122 | |
---|
123 | final Parametre pPressure = new Parametre(); |
---|
124 | pPressure.setParametreId( 9 ); |
---|
125 | pPressure.setParametreNom( "Pressure" ); |
---|
126 | pPressure.setParametreCode( "P" ); |
---|
127 | pPressure.setUnite( unitMbar ); |
---|
128 | |
---|
129 | final Parametre pTemperature = new Parametre(); |
---|
130 | pTemperature.setParametreId( 10 ); |
---|
131 | pTemperature.setParametreNom( "Temperature" ); |
---|
132 | pTemperature.setParametreCode( "T" ); |
---|
133 | pTemperature.setUnite( unitC ); |
---|
134 | |
---|
135 | final Parametre pNO = new Parametre(); |
---|
136 | pNO.setParametreId( 4 ); |
---|
137 | pNO.setParametreNom( "Nitrogen Monoxide" ); |
---|
138 | pNO.setParametreCode( "NO" ); |
---|
139 | pNO.setUnite( unitPpbv ); |
---|
140 | |
---|
141 | final Parametre pNOx = new Parametre(); |
---|
142 | pNOx.setParametreId( 23 ); |
---|
143 | pNOx.setParametreNom( "Nitrogen Oxides" ); |
---|
144 | pNOx.setParametreCode( "NOx" ); |
---|
145 | pNOx.setUnite( unitPpbv ); |
---|
146 | |
---|
147 | |
---|
148 | if( null != plateformId && plateformId == 1 ) |
---|
149 | { |
---|
150 | // SIRTA |
---|
151 | parameters.add( pOzone ); |
---|
152 | parameters.add( pJNO2 ); |
---|
153 | parameters.add( pPressure ); |
---|
154 | parameters.add( pTemperature ); |
---|
155 | parameters.add( pNO ); |
---|
156 | |
---|
157 | } |
---|
158 | else if( null != plateformId && plateformId == 3 ) |
---|
159 | { |
---|
160 | // LHVP |
---|
161 | parameters.add( pOzone ); |
---|
162 | parameters.add( pNO ); |
---|
163 | parameters.add( pNOx ); |
---|
164 | } |
---|
165 | else if( null != plateformId && plateformId == 4 ) |
---|
166 | { |
---|
167 | // ATR-42 |
---|
168 | parameters.add( pPressure ); |
---|
169 | parameters.add( pTemperature ); |
---|
170 | } |
---|
171 | else if( null != plateformId && plateformId == 6 ) |
---|
172 | { |
---|
173 | // Piper-Aztec |
---|
174 | } |
---|
175 | else |
---|
176 | { |
---|
177 | parameters.add( pOzone ); |
---|
178 | parameters.add( pJNO2 ); |
---|
179 | parameters.add( pPressure ); |
---|
180 | parameters.add( pTemperature ); |
---|
181 | parameters.add( pNO ); |
---|
182 | parameters.add( pNOx ); |
---|
183 | } |
---|
184 | |
---|
185 | return parameters; |
---|
186 | } |
---|
187 | |
---|
188 | public static Parametre getParameterById( @NotNull final Integer parameterId ) |
---|
189 | { |
---|
190 | if( parameterId == 3 ) |
---|
191 | return createParameter(); |
---|
192 | |
---|
193 | else if( parameterId == 1 ) |
---|
194 | { |
---|
195 | final Parametre pJNO2 = new Parametre(); |
---|
196 | pJNO2.setParametreId( 1 ); |
---|
197 | pJNO2.setParametreNom( "Photolysis Frequency JNO2" ); |
---|
198 | pJNO2.setParametreCode( "JNO2" ); |
---|
199 | final Unite units_1 = new Unite(); |
---|
200 | units_1.setUniteCode( "s-1" ); |
---|
201 | pJNO2.setUnite( units_1 ); |
---|
202 | return pJNO2; |
---|
203 | } |
---|
204 | else if( parameterId == 9 ) |
---|
205 | { |
---|
206 | final Parametre pPressure = new Parametre(); |
---|
207 | pPressure.setParametreId( 9 ); |
---|
208 | pPressure.setParametreNom( "Pressure" ); |
---|
209 | pPressure.setParametreCode( "P" ); |
---|
210 | final Unite unitMbar = new Unite(); |
---|
211 | unitMbar.setUniteCode( "mbar" ); |
---|
212 | |
---|
213 | pPressure.setUnite( unitMbar ); |
---|
214 | return pPressure; |
---|
215 | } |
---|
216 | else if( parameterId == 10 ) |
---|
217 | { |
---|
218 | final Parametre pTemperature = new Parametre(); |
---|
219 | pTemperature.setParametreId( 10 ); |
---|
220 | pTemperature.setParametreNom( "Temperature" ); |
---|
221 | pTemperature.setParametreCode( "T" ); |
---|
222 | final Unite unitC = new Unite(); |
---|
223 | unitC.setUniteCode( "°C" ); |
---|
224 | pTemperature.setUnite( unitC ); |
---|
225 | return pTemperature; |
---|
226 | } |
---|
227 | else if( parameterId == 4 ) |
---|
228 | { |
---|
229 | |
---|
230 | final Parametre pNO = new Parametre(); |
---|
231 | pNO.setParametreId( 4 ); |
---|
232 | pNO.setParametreNom( "Nitrogen Monoxide" ); |
---|
233 | pNO.setParametreCode( "NO" ); |
---|
234 | final Unite unitPpbv = new Unite(); |
---|
235 | unitPpbv.setUniteCode( "ppbv" ); |
---|
236 | pNO.setUnite( unitPpbv ); |
---|
237 | return pNO; |
---|
238 | } |
---|
239 | else if( parameterId == 23 ) |
---|
240 | { |
---|
241 | |
---|
242 | final Parametre pNOx = new Parametre(); |
---|
243 | pNOx.setParametreId( 23 ); |
---|
244 | pNOx.setParametreNom( "Nitrogen Oxides" ); |
---|
245 | pNOx.setParametreCode( "NOx" ); |
---|
246 | final Unite unitPpbv = new Unite(); |
---|
247 | unitPpbv.setUniteCode( "ppbv" ); |
---|
248 | pNOx.setUnite( unitPpbv ); |
---|
249 | return pNOx; |
---|
250 | } |
---|
251 | else return null; |
---|
252 | } |
---|
253 | |
---|
254 | public static Data createValuesForTimeSerie( final Integer size, final Integer delta ) |
---|
255 | { |
---|
256 | if( null == delta ) |
---|
257 | return new Data( new double[0], new Date[0] ); |
---|
258 | |
---|
259 | final double[] values = new double[size]; |
---|
260 | final Date[] dates = new Date[size]; |
---|
261 | final Calendar cal = Calendar.getInstance(); |
---|
262 | |
---|
263 | for( int i = 0; i < size; i++ ) |
---|
264 | { |
---|
265 | values[i] = (double) i * Math.random() * delta; |
---|
266 | cal.set( Calendar.MINUTE, (int) ( 2 + i + ( Math.random() * 8 ) ) ); |
---|
267 | dates[i] = cal.getTime(); |
---|
268 | } |
---|
269 | return new Data( values, dates ); |
---|
270 | } |
---|
271 | |
---|
272 | public static Data createValuesFor2D( final Integer size, final Integer delta ) |
---|
273 | { |
---|
274 | // final double[] latitudeArray = {2.1, 2.2, 2.3}; |
---|
275 | // final double[] longitudeValues = {112.1, 12.2, 22.3}; |
---|
276 | final double[] latitudeValues = new double[size]; |
---|
277 | final double[] longitudeValues = new double[size]; |
---|
278 | final double[] parameterValues = new double[size]; |
---|
279 | |
---|
280 | for( int i = 0; i < size; i++ ) |
---|
281 | { |
---|
282 | parameterValues[i] = Math.random() * i; |
---|
283 | latitudeValues[i] = Math.random() * i; |
---|
284 | longitudeValues[i] = Math.random() * i; |
---|
285 | } |
---|
286 | |
---|
287 | return new Data( parameterValues, latitudeValues, longitudeValues ); |
---|
288 | } |
---|
289 | |
---|
290 | public static Data createRealValuesFor2D() |
---|
291 | { |
---|
292 | // final double[] latitudeValues = {488993.0, 489001.0, 488984.0, 489010.0, 490005.0, 490015.0}; |
---|
293 | // final double[] longitudeValues = {-1829.0, -1829.0, -1828.0, -1828.0, -1827.0, -1826.0}; |
---|
294 | // final double[] parameterValues = {7.029, 0.0, 0.0, 0.0, 8.547, 0.0, 0.0, 0.0, 8.845, 0.0, 0.0, 0.0, 9.248, 0.0, 0.0, 0.0, 9.58, 0.0, 0.0, 0.0, 9.98, 0.0, 0.0, 0.0, 7.98, 0.0, 0.0, 0.0, 6.58, 0.0, 0.0, 0.0, 8.08, 0.0, 0.0, 0.0}; |
---|
295 | |
---|
296 | final Double[] latitudeArray = new Double[]{48.898, 48.899, 48.900, 49.1001, 49.1002, 49.1003, 49.1004}; |
---|
297 | final Double[] longitudeArray = new Double[]{-0.1832, 2.0368, 2.0369, 2.037, 2.8216, 2.8221, 3.0}; |
---|
298 | final Double[] parameterArray = new Double[]{0.1094, 30.8, 19.0, 12.31, 12.69, 12.06, 6.813}; |
---|
299 | |
---|
300 | final List<Double> latitudeValues = Arrays.asList( latitudeArray ); |
---|
301 | final List<Double> longitudeValues = Arrays.asList( longitudeArray ); |
---|
302 | final List<Double> parameterValues = Arrays.asList( parameterArray ); |
---|
303 | |
---|
304 | return new Data( parameterValues, latitudeValues, longitudeValues ); |
---|
305 | } |
---|
306 | |
---|
307 | } |
---|