Файл конфигурации
Обзор
Файл конфигурации — ключевой компонент библиотеки 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: [ ... ] }.
Подробнее о возможных конфигурациях этих свойств можно узнать в разделе Расширенные настройки
В этой статье мы рассмотрели базовый пример построения конфигурационного файла и разобрали его ключевые элементы. Представленная информация охватывает лишь часть доступных графических объектов и параметров. С полным перечнем компонентов и их возможностями вы можете ознакомиться в разделе Компоненты