parser-synop

Форк
0
/
index.php 
265 строк · 10.8 Кб
1
<?php
2
/*
3
## Example of a line of raw SYNOP code in format KN-01
4

5
### Change the variable raw to get the result.
6
### The variable raw has the format KN-01.
7
*/
8

9
// Raw SYNOP code string (FM-12 code)
10
//$raw = '201809051400 AAXX 10001 33041 42968 00000 10013 21028 30093 40253 52001 555 14100';
11
//$raw = '201809051400 AAXX 10001 34363 62597 42005 10051 20001 39957 40108 52008 69932 82530 333 20048 31003 46997 55080 86714 91111 555 19020 50057 52001 53012 7035/ 88036=';
12
//$raw = '201809051400 AAXX 10001 13624 41660 81402 10048 20041 30102 40142 52010 76162 8453/ 333 84633 84360=';
13
//$raw = '201809051400 AAXX 10001 38799 13/// ///// 5//// 6//// 333 2//// 3//// 555 5//// 52/// 530// 7////=';
14

15
// Raw SYNOP code string (KN-01 code)
16
//$raw = '27277 10998 00801 10127 20081 30154 40318 52015 60002 333 20102 30012 91003 91103=';
17
//$raw = '38915 32997 02003 10302 10120 39765 40060 53026 333 20202=';
18
//$raw = '34363 62597 42005 10051 20001 39957 40108 52008 69932 82530 333 20048 31003 46997 55080 86714 91024 555 19020 50057 52001 53012 7035/ 88036=';
19
//$raw = '13633 12964 33208 10326 29032 30079 40114 54001 60001 83030 333       83360=';
20
//$raw = '60693 36/// /3503 10325 20154=';
21
//$raw = '60613 NIL=';
22
//$raw = '37235 82997 00000 19184 20175 39794 40093 57005=';
23
//$raw = '33001 35/72 /2703 10152 20139 39977 40171 52005 333 20131=';
24

25
//$raw = '26542 36/// ///// 10082 20051 39925 40141 57002 333 10116=';
26
//$raw = '26542 46/// ///// 10080 20049 39928 40144 52003=';
27
//$raw = '26542 46/// ///// 10077 20055 39924 40140 57004=';
28
//$raw = '26542 /6/// ///// 10077 20053 39926 40142 52002 555 20074 69978 7997/=';
29
//$raw = '26542 16/// ///// 10075 20051 39927 40143 52001 69972 333 20074=';
30
$raw = '26820 32463 80302 11027 21046 39903 40092 52002 886// 333 21028 43997 555 90010=';
31
//$raw = '33001 32361 80401 11014 21025 39882 40087 52004 886// 333 21014 42997 88709 555 90010=';
32

33
//подключаем классы для расшифровки SYNOP
34
require_once 'Synop.php';
35
require_once 'SynopConv.php';
36

37
//удалить перевод каретки и конец строки в многострочных SYNOP
38
$arr_new_line = array("\n", "\r\n");  //специальные символы
39
$raw = str_replace($arr_new_line, '', $raw);
40

41
// Create class instance for parse SYNOP string with debug output enable
42
$synopConv = new SynopConv($raw, TRUE);
43

44
// Parse SYNOP
45
$parameters = $synopConv->parse();
46

47
/*
48
print_r($parameters)."\n\n"; // get parsed parameters as array
49

50
// Debug information
51
$debug = $synopConv->debug();
52
print_r($debug)."\n\n"; // get debug information as array
53
*/
54

55
// Get all converted parameters
56
$synopConv->convParam();
57

58
/*
59
## Отображаем результаты декодирования SYNOP для наполнения БД
60
*/
61
echo "\n\n"."Представление результатов декодирования SYNOP"."\n";
62
echo $synopConv->raw;
63

64
//Пост обработка полученных результатов
65
//DATAS` date NOT NULL DEFAULT '1000-01-01'
66
//echo "\n\n"."Дата получения данных"."\n";
67
//echo $synopConv->observed_date;
68

69
//TIMES` time NOT NULL DEFAULT '00:00:00'
70
//echo "\n"."Срок наблюдения, UTC"."\n";
71
//echo $synopConv->observed_time;
72

73
//DateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
74
//echo "\n"."Дата и время"."\n";
75
//echo $synopConv->observed_date_time;
76

77
//STATION_TYPE_CODE` varchar(20) NOT NULL DEFAULT ''
78
//echo "\n"."Тип станции"."\n";
79
//echo $synopConv->station_report;
80

81
//ID_STATION` varchar(5) NOT NULL DEFAULT ''
82
echo "\n"."Индекс станции"."\n";
83
echo $synopConv->station_id;
84

85
//Weather group indicator
86
echo "\n"."Указатель типа станции (обслуживаемая персоналом или автоматическая)"."\n";
87
echo $synopConv->station_operation;
88

89
//Cloud_height, cloud base of lowest observed cloud
90
//echo "\n"."Высота нижней границы самых низких облаков"."\n";
91
echo "\n"."Высота облаков, м"."\n";
92
echo $synopConv->cloud_height;
93

94
//Horizontal visibility in km
95
echo "\n"."Видимость, км"."\n";
96
echo $synopConv->visibility;
97

98
//Total cloud cover in okta
99
echo "\n"."Общее количество облаков"."\n";
100
echo $synopConv->cloud_cover_tot;
101

102
//wind direction in dekadegree (10 minute mean)
103
//Dir` enum('Северный','Южный','Западный','Восточный','С-З','С-В','Ю-З','Ю-В','Переменный') DEFAULT NULL
104
echo "\n"."Направление ветра"."\n";
105
echo $synopConv->wind_direction;
106

107
//Wind speed (10 minute mean)
108
//Speed` varchar(5) DEFAULT NULL
109
echo "\n"."Скорость ветра, ";
110
echo $synopConv->wind_unit;
111
echo "\n";
112
echo $synopConv->wind_speed;
113

114
//Temp` varchar(5) DEFAULT NULL
115
echo "\n"."Температура воздуха, °C"."\n";
116
echo $synopConv->temperature;
117

118
//TempD` varchar(5) DEFAULT NULL
119
echo "\n"."Температура точки росы, °C"."\n";
120
echo $synopConv->dew_point;
121

122
//Moisture` varchar(5) DEFAULT NULL
123
echo "\n"."Влажность, %"."\n";
124
echo $synopConv->humidity;
125

126
//Pressure` smallint(5) unsigned DEFAULT NULL
127
echo "\n"."Давление на уровне станции, гПа"."\n";
128
echo $synopConv->barometer_st;
129

130
//Pressure` smallint(5) unsigned DEFAULT NULL
131
echo "\n"."Давление на уровне моря, гПа"."\n";
132
echo $synopConv->barometer;
133

134
//Trend` varchar(75) DEFAULT NULL
135
echo "\n"."Изменение давления"."\n";
136
echo $synopConv->barometer_trend;
137

138
//Trend` varchar(75) DEFAULT NULL
139
echo "\n"."Значение изменения давления, гПа"."\n";
140
echo $synopConv->barometer_diff;
141

142
//Precipitation amount
143
echo "\n"."Количество осадков, мм"."\n";
144
echo $synopConv->precip;
145

146
//Reference time of precipitation
147
echo "\n"."Срок накопления осадков"."\n";
148
echo $synopConv->precip_ref_time;
149

150
//weather` varchar(64) DEFAULT NULL
151
echo "\n"."Текущее метеорологическое явление"."\n";
152
echo $synopConv->current_weather;
153

154
//weather` varchar(64) DEFAULT NULL
155
echo "\n"."Прошедшее метеорологическое явление 1"."\n";
156
echo $synopConv->w_course1;
157

158
//weather` varchar(64) DEFAULT NULL
159
echo "\n"."Прошедшее метеорологическое явление 2"."\n";
160
echo $synopConv->w_course2;
161

162
//weather` varchar(64) DEFAULT NULL
163
echo "\n"."Количество облаков CL или CM, если облаков CL нет"."\n";
164
echo $synopConv->cloud_cover_lowest;
165

166
//weather` varchar(64) DEFAULT NULL
167
echo "\n"."Облака вертикального развития и облака нижнего яруса (кроме слоисто-дождевых)"."\n";
168
echo $synopConv->cloud_type_low;
169

170
//weather` varchar(64) DEFAULT NULL
171
echo "\n"."Облака среднего яруса и слоисто-дождевые облака"."\n";
172
echo $synopConv->cloud_type_medium;
173

174
//weather` varchar(64) DEFAULT NULL
175
echo "\n"."Облака верхнего яруса"."\n";
176
echo $synopConv->cloud_type_high;
177

178
//weather` varchar(64) DEFAULT NULL
179
echo "\n"."Максимальная температура воздуха за день, °C"."\n";
180
echo $synopConv->t_max;
181

182
//weather` varchar(64) DEFAULT NULL
183
echo "\n"."Минимальная температура воздуха за ночь, °C"."\n";
184
echo $synopConv->t_min;
185

186
//weather` varchar(64) DEFAULT NULL
187
echo "\n"."Состояние поверхности почвы при отсутствии снежного покрова"."\n";
188
echo $synopConv->grd_conditions;
189

190
//weather` varchar(64) DEFAULT NULL
191
echo "\n"."Минимальная температура поверхности почвы за ночь, °C"."\n";
192
echo $synopConv->t_ground;
193

194
//weather` varchar(64) DEFAULT NULL
195
echo "\n"."Состояние подстилающей поверхности при наличии снежного покрова"."\n";
196
echo $synopConv->conditions_snow;
197

198
//weather` varchar(64) DEFAULT NULL
199
echo "\n"."Высота снежного покрова, см"."\n";
200
echo $synopConv->snow_height;
201

202
//weather` varchar(64) DEFAULT NULL
203
echo "\n"."Продолжительность солнечного сияния за сутки, ч"."\n";
204
echo $synopConv->sunshine_dur;
205

206
//Precipitation amount in section 3
207
echo "\n"."Количество осадков (секция 3), мм"."\n";
208
echo $synopConv->precip_section3;
209

210
//Reference time of precipitation
211
echo "\n"."Срок накопления осадков (секция 3)"."\n";
212
echo $synopConv->precip_ref_time_section3;
213

214
//weather` varchar(64) DEFAULT NULL
215
echo "\n"."Количество облачности, кол-во баллов"."\n";
216
echo $synopConv->amount_cloudiness;
217

218
//weather` varchar(64) DEFAULT NULL
219
echo "\n"."Форма облаков"."\n";
220
echo $synopConv->clouds_shape;
221

222
//weather` varchar(64) DEFAULT NULL
223
echo "\n"."Высота нижней границы облаков, м"."\n";
224
echo $synopConv->cld_low_height;
225

226
//weather` varchar(64) DEFAULT NULL
227
echo "\n"."Дополнительная информация о погоде в срок наблюдения (требуется доработка)"."\n";
228
echo $synopConv->weather_addon1;
229

230
//weather` varchar(64) DEFAULT NULL
231
echo "\n"."Дополнительная информация о погоде между сроками наблюдения (требуется доработка)"."\n";
232
echo $synopConv->weather_addon2;
233

234
//weather` varchar(64) DEFAULT NULL
235
echo "\n"."Порыв ветра, м/с"."\n";
236
echo $synopConv->gust;
237

238
//weather` varchar(64) DEFAULT NULL
239
echo "\n"."Состояние поверхности почвы при отсутствии снежного покрова (секция 5)"."\n";
240
echo $synopConv->grd_conditions_section5;
241

242
//weather` varchar(64) DEFAULT NULL
243
echo "\n"."Температура подстилающей поверхности в срок наблюдения (секция 5), °C"."\n";
244
echo $synopConv->t_ground_section5;
245

246
//Temp` varchar(5) DEFAULT NULL
247
echo "\n"."Средняя  температура  воздуха  за  прошедшие  сутки, °C"."\n";
248
echo $synopConv->t_avg_last;
249

250
//Temp` varchar(5) DEFAULT NULL
251
echo "\n"."Минимальная температура воздуха за ночь на высоте 2 см от поверхности почвы, °C"."\n";
252
echo $synopConv->t_min_2cm_night;
253

254
//Temp` varchar(5) DEFAULT NULL
255
echo "\n"."Максимальная скорость ветра при порывах за прошедшие полусутки, м/с"."\n";
256
echo $synopConv->wind_gust_max_last;
257

258
//Temp` varchar(5) DEFAULT NULL
259
echo "\n"."Количество осадков, выпавших за сутки, мм"."\n";
260
echo $synopConv->precip_last;
261

262
//Temp` varchar(5) DEFAULT NULL
263
echo "\n"."Количество осадков за сутки, составляющее 30 мм и более, мм"."\n";
264
echo $synopConv->precip_last_30mm;
265
?>

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.