wing-ops/frontend/src/common/mock/backtrackMockData.ts
htlee 63645e9f85 refactor(phase4): HNS 물질정보 DB 이전 + 정적 데이터 정리
- HNS_SUBSTANCE 테이블 마이그레이션 SQL 추가 (002_hns_substance.sql)
- HNS 검색/상세 API 구현 (hnsRouter, hnsService)
- HNS 시드 스크립트 추가 (seedHns.ts, 20종 물질 데이터)
- 프론트엔드 HNSSubstanceView: 정적 HNS_SEARCH_DB → API 호출 전환
- HNSSearchSubstance 타입 common/types/hns.ts로 분리
- Mock 데이터 이동: data/ → common/mock/ (vesselMockData, backtrackMockData)
- layerDatabase.ts → common/services/layerService.ts 이동
- layerData.ts → common/data/layerData.ts 이동
- scat/index.ts 누락 수정 + .gitignore scat 규칙 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 14:52:46 +09:00

127 lines
3.6 KiB
TypeScript
Executable File

import type { BacktrackConditions, BacktrackVessel, ReplayShip, CollisionEvent } from '@common/types/backtrack'
export const MOCK_CONDITIONS: BacktrackConditions = {
estimatedSpillTime: '02-10 06:30',
analysisRange: '±12시간',
searchRadius: '10 NM',
spillLocation: { lat: 34.7312, lon: 127.6845 },
totalVessels: 47,
}
export const MOCK_VESSELS: BacktrackVessel[] = [
{
rank: 1,
name: 'ORIENTAL GLORY',
imo: '9412856',
type: '유조선',
flag: '🇰🇷',
flagCountry: '대한민국',
probability: 96.7,
closestTime: '06:28',
closestDistance: 0.02,
speedChange: '급감속',
aisStatus: '충돌신호',
description: '06:28 HAI FENG 168과 충돌 → 06:30 No.1P 탱크 파공 → 벙커C유 유출 개시. AIS 충돌경보 발신, 속력 8.3kts→0.2kts 급감속.',
color: '#ef4444',
},
{
rank: 2,
name: 'HAI FENG 168',
imo: '9538721',
type: '벌크선',
flag: '🇨🇳',
flagCountry: '중국',
probability: 23.4,
closestTime: '06:28',
closestDistance: 0.02,
speedChange: '급감속',
aisStatus: '미확인',
description: '충돌 당사선. 구상선수 손상으로 연료유탱크 미세 누유 가능성. 자체 연료(벙커C) 1,200톤 적재.',
color: '#f97316',
},
{
rank: 3,
name: 'DONG JIN STAR',
imo: '9287403',
type: '케미컬탱커',
flag: '🇰🇷',
flagCountry: '대한민국',
probability: 4.1,
closestTime: '05:45',
closestDistance: 1.8,
speedChange: '정상',
aisStatus: '정상',
description: '',
color: '#64788c',
},
]
export const MOCK_REPLAY_SHIPS: ReplayShip[] = [
{
vesselName: 'ORIENTAL GLORY',
color: '#ef4444',
path: [
{ lat: 34.82, lon: 127.58 },
{ lat: 34.80, lon: 127.60 },
{ lat: 34.78, lon: 127.62 },
{ lat: 34.76, lon: 127.64 },
{ lat: 34.75, lon: 127.66 },
{ lat: 34.74, lon: 127.67 },
{ lat: 34.73, lon: 127.68 },
{ lat: 34.7312, lon: 127.6845 },
{ lat: 34.7312, lon: 127.6845 },
],
speedLabels: [
'8.3 kts · 215°', '8.3 kts · 215°', '8.3 kts · 215°',
'8.3 kts · 215°', '8.3 kts · 215°', '8.3 kts · 215°',
'2.1 kts · 215°', '0.2 kts · 정지', '0.2 kts · 정지',
],
},
{
vesselName: 'HAI FENG 168',
color: '#f97316',
path: [
{ lat: 34.64, lon: 127.78 },
{ lat: 34.66, lon: 127.76 },
{ lat: 34.68, lon: 127.74 },
{ lat: 34.70, lon: 127.72 },
{ lat: 34.71, lon: 127.71 },
{ lat: 34.72, lon: 127.70 },
{ lat: 34.73, lon: 127.69 },
{ lat: 34.7312, lon: 127.6845 },
{ lat: 34.7315, lon: 127.6840 },
],
speedLabels: [
'11.2 kts · 038°', '11.2 kts · 038°', '11.2 kts · 038°',
'11.2 kts · 038°', '11.2 kts · 038°', '11.2 kts · 038°',
'3.4 kts · 038°', '0.5 kts · 정지', '0.5 kts · 정지',
],
},
{
vesselName: 'DONG JIN STAR',
color: '#64788c',
path: [
{ lat: 34.82, lon: 127.52 },
{ lat: 34.80, lon: 127.53 },
{ lat: 34.78, lon: 127.54 },
{ lat: 34.76, lon: 127.55 },
{ lat: 34.74, lon: 127.56 },
{ lat: 34.72, lon: 127.57 },
{ lat: 34.70, lon: 127.58 },
{ lat: 34.68, lon: 127.59 },
{ lat: 34.66, lon: 127.60 },
],
speedLabels: [
'10.5 kts · 180°', '10.5 kts · 180°', '10.5 kts · 180°',
'10.5 kts · 180°', '10.5 kts · 180°', '10.5 kts · 180°',
'10.5 kts · 180°', '10.5 kts · 180°', '10.5 kts · 180°',
],
},
]
export const MOCK_COLLISION: CollisionEvent = {
position: { lat: 34.7312, lon: 127.6845 },
timeLabel: '06:28 충돌',
progressPercent: 75,
}