Файл конфигурации

Обзор

Файл конфигурации — ключевой компонент библиотеки JAGM, выступающий в роли "чертежа" создаваемого графического полотна.
Он описывает:

  • Источники и параметры отображаемых сигналов;
  • Тип и структуру визуализируемых графиков;
  • Набор используемых графических компонентов и их поведение.

Использование конфигурационного файла позволяет гибко управлять внешним видом и функциональностью графика без необходимости вносить изменения в код приложения. Это особенно удобно для интеграции в системы с изменяемыми пользовательскими сценариями и для обеспечения расширяемости.

Файл конфигурации имеет формат .json и состоит из двух основных частей:

  • data — описание входных сигналов.
  • view — описание отображаемых графиков.

В упрощённом виде выглядит следующим образом:

{
  "data": {...},
  "view": {...}
}

Блок data

{
  "data": {...},
  "view": {...}
}

Блок data описывает данные и источники данных(сигналов), которые используются для отображения сигналов на графическом полотне.
Структура блока data обычно состоит из двух элементов: units и channels.

{
  "data": {
    "units": {...},
    "channels": [...],
  }
}

Блок Units

В блоке units задаются масштабирующие единицы измерения, которые могут использоваться для пересчета данных сигнала в соответствующий масштаб, подписи осей графика. Ниже приведен пример задания милливольта в качестве единицы измерения:

{
  "units": [
    {
      "text": "mV",
      "scale": 1
    }
  ]
}
Название Тип Значение поумолчанию Описание
id number Задаётся неявно и равно индексу в массиве units Уникальный идентификатор единицы измерения. Требуется для связывания сигнала с единицей измерения.
text string "" Название единицы измерения для корректной подписи осей.
scale number 1 Коэффициент для пересчёта отсчётов сигнала в соответствующие единицы.

Блок Channels

Блок channels представляет собой массив каналов, содержащих отсчеты различных сигналов.

channels имеет следующий структурный вид:

{
  "channels": [
    {
      "name": "ecg",
      "signals": 5
    }
  ]
}
Название Тип Значение поумолчанию Описание
name string ОБЯЗАТЕЛЬНОЕ Уникальное имя канала данных. Оно должно совпадать с именем передающегося канала данных (подробнее, смотри Расширенные настройки).
signals number Задаёт количество сигналов в канале.
frequency number 1000 Частота дискретизации сигнала.

Блок channels является одним из ключевых элементов конфигурации, и его настройке следует уделить особое внимание. Подробное описание структуры и параметров этого блока представлено в следующем разделе, а также в Расширенных настройках блока data.
На первый взгляд, избыточная гибкость конфигурации может показаться необязательной. Однако она становится особенно полезной при работе с online-сигналами, поступающими в реальном времени. Именно благодаря настройке конфигурации удаётся обеспечить корректную визуализацию таких данных по мере их получения

Блок view

{
  "data": {...},
  "view": {...}
}

Блок view отвечает за конфигурацию графического полотна: он определяет типы отображаемых графиков, их компоновку и дополнительные визуальные элементы. В этом блоке также описываются параметры отображения данных на графике.

Пример структуры блока view:

{
  "view": {
    "canvas": {
      "items": [
        {
          "type": "chart:online:base",
          "channels": [
            {
              "signals": [{ "color": "#026ce5" }]
            }
          ]
        }
      ]
    }
  }
}

Подробнее о конфигурациях графиков можно прочитать в разделе Графики

Название Тип Значение поумолчанию Описание
type string ОБЯЗАТЕЛЬНОЕ Тип отображаемого графика.
channels Array<object> Содержит структуру, связывающую сигналы из data с графическии полотном.

Для связывания сигналов с графическим полотном используются id сигналов, укаызываемые в data: { channels: [ ... ] }. Если id не было присвоено явно, то связка сигнала с графическим полтоном происходит по индексу сигнала в массиве data: { channels: [ ... ] }.

Подробнее о возможных конфигурациях этих свойств можно узнать в разделе Расширенные настройки

В этой статье мы рассмотрели базовый пример построения конфигурационного файла и разобрали его ключевые элементы. Представленная информация охватывает лишь часть доступных графических объектов и параметров. С полным перечнем компонентов и их возможностями вы можете ознакомиться в разделе Компоненты