Skip to content

시계열 어노테이터 스키마

Raw
용어의미예시
트랙 (track)하나의 차트에 함께 표시되는 채널들의 그룹. 서로 다른 센서의 채널을 자유롭게 조합할 수 있다.GPS 고도 + 기압 고도 + EKF 고도를 하나의 차트에 표시
채널 (channel)하나의 값 배열을 가진 개별 데이터 시리즈. timestamps와 동일한 길이의 숫자 배열이다.battery_status__voltage_v
채널 메타 (channelMeta)채널의 표시 정보 (이름, 단위, 색상, 차트 타입).{ name: "전압", unit: "V", color: "#ab47bc", chartType: "line" }

project.category
time_series_annotation
project.annotation_types[]설명
time_range시간 범위 어노테이션

초안

⬇️ ⬇️ 아래 데이터 유닛 섹션부터 문서 끝까지는 작성 중인 내용으로, 확정되지 않았습니다.


시계열 데이터 유닛은 동일한 시간 범위를 공유하는 센서 채널들의 집합입니다.

{
  "timeSeriesData": {
    "url": "https://storage.example.com/timeseries-data.json",
    "is_primary": true,
    "file_type": "json",
    "meta": {
      "channels": {
        "채널ID": {
          "name": "채널 표시 이름",
          "unit": "단위 (예: m/s², deg)",
          "color": "#3b82f6",
          "chartType": "line", // → ChartType
          "sampleRate": 100
        }
      },
      "timeRange": {
        "start": 1704067200000, // epoch_ms
        "end": 1704069600000,  // epoch_ms
        "unit": "epoch_ms"
      }
    }
  }
}

url이 가리키는 시계열 데이터 JSON

Section titled “url이 가리키는 시계열 데이터 JSON”

ULG(ULog) 형식을 차용합니다.

timestampsmeta.startTime / endTimeUnix Epoch 기준 밀리초(epoch_ms) 를 사용합니다. timeAxis.origin으로 timestamps의 기준을 명시하며, 컨버터를 통해 다른 기준으로 변환할 수 있습니다. 화면 표시 형식은 timeAxis.format으로 지정합니다.

{
  "meta": {
    "startTime": 1613693139891, // epoch_ms
    "endTime": 1613693426291,   // epoch_ms
    "duration": 286.4,          // 초(s)
    "sampleRate": 10,           // Hz
    "nSamples": 2865,
    "timeAxis": {
      "origin": "absolute", // → TimeAxisOrigin
      "format": "HH:mm"     // → TimeAxisFormat
    }
  },
  "timestamps": [1613693139891, 1613693139991, "..."], // epoch_ms 배열
  "tracks": [
    {
      "id": "altitude-estimate", // 임의의 문자열 (kebab-case 권장)
      "name": "트랙 이름",
      "chartType": "line", // → ChartType
      "channels": ["채널ID_1", "채널ID_2"],
      "yRange": { "min": -30, "max": 30 },           // Y축 클리핑 (선택)
      "thresholds": [                                  // 배경색 구간 (선택)
        { "max": 4.905, "color": "rgba(34,197,94,0.15)", "label": "Good" },
        { "min": 4.905, "max": 9.81, "color": "rgba(253,203,110,0.15)", "label": "Warning" }
      ]
    }
  ],
  "channels": {
    "채널ID_1": [0.1, 0.2, "..."], // timestamps와 길이 동일
    "채널ID_2": [1.0, 1.1, "..."]
  },
  "channelMeta": {
    "채널ID_1": {
      "name": "채널 표시 이름",
      "unit": "m/s²",
      "color": "#cc6600",
      "chartType": "line" // → ChartType
    }
  }
}
설명
line라인 차트
scatter산점도
psdPower Spectral Density
fftFast Fourier Transform

timestamps의 기준점을 지정합니다.

프로그램은 absolute 기준으로만 동작합니다. 다른 origin의 데이터는 별도 컨버터를 통해 absolute로 변환한 후 사용해야 합니다.

설명
absoluteUnix Epoch 기준 밀리초 (프로그램 기본 작동 기준)
relative시작 시간으로부터의 경과 밀리초 (컨버터 필요)
boot시스템 부팅 시간 기준 밀리초 (컨버터 필요)

트랙의 Y축에 표시되는 배경색 구간입니다. tracks[].thresholds 배열의 각 요소입니다.

필드타입필수설명
colorstringO배경색 (rgba 권장)
labelstringX구간 라벨
minnumberXY축 최소값 (미지정 시 -∞)
maxnumberXY축 최대값 (미지정 시 +∞)

트랙의 Y축 표시 범위를 고정합니다. tracks[].yRange 객체입니다.

필드타입필수설명
minnumberOY축 하한
maxnumberOY축 상한

화면에 표시할 시간 형식을 지정합니다. Day.js 포맷 문자열을 사용합니다.

예시출력
HH:mm:ss14:05:32
HH:mm14:05
s.SSS5.320
MM-DD HH:mm02-18 14:05