Формат передачи наблюдений полевого метеопоста
Формат выбирают под получателя данных и возможности регистратора. Важно сохранить смысл наблюдения, а не только компактно передать числа. Для будущего обслуживания нужны схема полей, единицы, временная основа и правила обработки отсутствующих значений.
Описать запись до выбора формата
Перечислите идентификатор поста, поля измерений, время, номер записи и качество. Укажите, какие значения мгновенные, а какие рассчитаны за интервал. Название вроде «температура» недостаточно, если разные потребители ожидают разные способы обработки.
API Campbell Scientific показывает пример схемы с метаданными полей и строками наблюдений в нескольких представлениях. Campbell Scientific — Data Logger Web Server API Это полезный образец структуры, но конкретную поддержку проверяют по установленным модели, программе и прошивке. Нельзя считать любой JSON совместимым только по расширению файла.
Согласовать технические правила
Для табличного обмена определите кодировку, разделитель, десятичный знак и заголовки. Для структурированного — имена полей, типы и вложенность. Число, строка с единицей и специальный маркер отсутствия должны иметь разные описанные значения.
Сохраните исходное время регистратора и правило нормализации. Если метка не содержит часового пояса, получатель должен знать его основание. Время приёма сервером храните отдельно от наблюдения. Формат даты сам по себе не устанавливает её временную основу.
Предусмотреть изменение схемы
Назначьте версию и правило добавления полей. Получатель не должен незаметно принять переставленные столбцы за прежний порядок. Изменение единицы или периода усреднения требует явного отражения в метаданных, даже если имя поля сохранено.
Определите поведение при неизвестном поле, неверном типе и повреждённой записи. Частично принятый пакет должен иметь понятный результат. Успешный сетевой ответ не заменяет проверку того, что приложение распознало и сохранило все нужные наблюдения.
Проверить на характерном наборе
Подготовьте нормальную запись, отрицательное значение, отсутствующий датчик, повтор и архивную доставку. Если требуется, добавьте многобайтовые имена и предельные значения из документации. Импорт и последующий экспорт должны сохранять единицы, время и качество.
Сверьте полученный набор независимо от экранного графика. Для интегратора передайте образцы с ожидаемым результатом и описание ошибок. Это позволяет заменить канал связи или сервер без повторного выяснения смысла каждого столбца. Формат считается выбранным, когда два согласованных конца одинаково понимают запись и её ограничения.
Для приёмки подготовьте файл с описанной ошибкой поля и ожидаемым отказом импорта. Получатель должен показать конкретную причину, а не молча сохранить часть повреждённой записи как полноценное наблюдение.