[
  {
    "seq": 1,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:00:00+09:00",
    "x_m": 2.1,
    "y_m": 4,
    "quality": 0.93,
    "note": null
  },
  {
    "seq": 2,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:00:05+09:00",
    "x_m": 2.3,
    "y_m": 4.1,
    "quality": 0.91,
    "note": null
  },
  {
    "seq": 3,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:02:10+09:00",
    "x_m": 15.2,
    "y_m": 6,
    "quality": 0.88,
    "note": null
  },
  {
    "seq": 4,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:02:15+09:00",
    "x_m": 38.9,
    "y_m": 5.8,
    "quality": 0.41,
    "note": "직전 좌표에서 5초 만에 23m 이동한 튐 프레임"
  },
  {
    "seq": 5,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:02:20+09:00",
    "x_m": 15.4,
    "y_m": 6.1,
    "quality": 0.9,
    "note": null
  },
  {
    "seq": 6,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:41:00+09:00",
    "x_m": 31.5,
    "y_m": 5.2,
    "quality": 0.87,
    "note": null
  },
  {
    "seq": 6,
    "site_id": "s_wh_busan",
    "tag_id": "T-1001",
    "ts": "2026-08-03T08:41:00+09:00",
    "x_m": 31.5,
    "y_m": 5.2,
    "quality": 0.87,
    "note": "같은 순번이 두 번 수신된 중복 프레임"
  },
  {
    "seq": 8,
    "site_id": "s_wh_busan",
    "tag_id": "T-1002",
    "ts": "2026-08-03T09:10:00+09:00",
    "x_m": 10,
    "y_m": 7.5,
    "quality": 0.9,
    "note": "입고 게이트와 보관 랙의 경계선 위 좌표"
  },
  {
    "seq": 9,
    "site_id": "s_wh_busan",
    "tag_id": "T-1002",
    "ts": "2026-08-03T09:09:40+09:00",
    "x_m": 8.9,
    "y_m": 7.2,
    "quality": 0.86,
    "note": "직전 행보다 이른 시각이 뒤 순번으로 온 시각 역전"
  },
  {
    "seq": 10,
    "site_id": "s_wh_busan",
    "tag_id": "T-9999",
    "ts": "2026-08-03T09:30:00+09:00",
    "x_m": 21,
    "y_m": 10.4,
    "quality": 0.84,
    "note": "자산 대장에 등록되지 않은 태그"
  },
  {
    "seq": 11,
    "site_id": "s_wh_busan",
    "tag_id": "T-1003",
    "ts": "2026-08-03T10:05:00+09:00",
    "x_m": null,
    "y_m": null,
    "quality": null,
    "note": "앵커 3면 미확보로 좌표가 계산되지 않은 측위 실패 프레임"
  },
  {
    "seq": 12,
    "site_id": "s_wh_busan",
    "tag_id": "T-1003",
    "ts": "2026-08-03T10:05:30+09:00",
    "x_m": 24.2,
    "y_m": 11,
    "quality": 0.09,
    "note": "신뢰도가 문턱값보다 낮은 저품질 프레임"
  },
  {
    "seq": 13,
    "site_id": "s_wh_busan",
    "tag_id": "T-1004",
    "ts": "2026-08-03T11:00:00+09:00",
    "x_m": 33.7,
    "y_m": 4.4,
    "quality": 0.92,
    "note": null
  },
  {
    "seq": 14,
    "site_id": "s_wh_busan",
    "tag_id": "T-1005",
    "ts": "2026-08-03T11:20:00+09:00",
    "x_m": 12.8,
    "y_m": 9.6,
    "quality": 0.89,
    "note": "직전 수신이 2시간 전인 수신 공백 태그"
  }
]