Я работаю над приложением, которое получает данные о погоде с сервера.Сервер обновляется каждые 5 минут с данными о погоде от различных метеостанций.Проблема заключается в том, что если есть проблема с подключением или станция отключена от сети, в конечном итоге пропускаются значения.API возвращает указанную метку времени, временной шаг между измерениями и список измерений.
В качестве примера, если я попытаюсь получить значение каждый час для данного дня (24-часовой период), я бы ожидал 24 значения(168 за неделю и 720 за 30/744 за 31 день).Если измерения отсутствуют, результат тот же, за исключением отсутствующих значений, и я не могу узнать, отсутствуют ли они в начале, середине или конце клавиши «значение».
Я пробовал меньшие интервалы времени (каждыезначение для периода - день, неделя, месяц), чтобы заполнить промежутки между возможными пропущенными измерениями, но API имеет ограничения на запросы, включая ограничение размера, что делает малый интервал непрактичным для больших запросов (например, месяца).
пример того, что возвращается с сервера -
{
"beg_time"= 1533097205,
"step_time": 3600,
"value":[
[14.7],
[14.6],
[14.5],
...
[14.8]]
}
Так что, если я в итоге пропущу измерения и получу меньше, чем ожидалось, как я начну проверять это?Желаемые результаты - ввод данных в файл с отметкой времени для каждого измерения.Недостающие значения в порядке, но мне нужно знать, как найти их в списке.Я могу связать beg_time только с первым значением, и каждое последующее значение имеет время beg_time + step_time.Мне нужно знать, где мне не хватает значения, чтобы я мог добавить метку времени в файл, но оставить измерение пустым.
Полный пример неполного ответа: только 23 значения, хотя ожидается 24.
[
{
"beg_time": 1533009600,
"step_time": 3600,
"value": [
[
14.6
],
[
15.1
],
[
14.2
],
[
12.8
],
[
11.6
],
[
10.7
],
[
11.5
],
[
16.3
],
[
22.3
],
[
28.2
],
[
29.4
],
[
29.1
],
[
29.3
],
[
29.6
],
[
30.5
],
[
29.7
],
[
28.9
],
[
26.3
],
[
24.8
],
[
23.6
],
[
21.2
],
[
17.9
],
[
15.9
]
]
}
]