kcg-ai-monitoring/frontend/src/lib/map/layers/trips.ts
htlee 2ee8a0e7ff feat(detection): DAR-03 어구 탐지 워크플로우 + 모선 검토 UI + 24h 리플레이 통합
- prediction: G-01/G-04/G-05/G-06 위반 분류 + 쌍끌이 공조 탐지 추가
- backend: 모선 확정/제외 API + signal-batch 항적 프록시 + ParentResolution 점수 근거 필드 확장
- frontend: 어구 탐지 그리드 다중필터/지도 flyTo, 후보 검토 패널(점수 근거+확정/제외), 24h convex hull 리플레이 + TripsLayer 애니메이션
- gitignore: 루트 .venv/ 추가
2026-04-15 13:26:15 +09:00

43 lines
1015 B
TypeScript

/**
* TripsLayer 팩토리 — deck.gl/geo-layers의 TripsLayer 래퍼
*
* 어구 멤버 궤적 애니메이션 (fade trail) 전용.
*/
import { TripsLayer } from '@deck.gl/geo-layers';
export interface TripsData {
id: string;
path: [number, number][];
timestamps: number[];
color: [number, number, number, number];
}
/**
* 궤적 애니메이션 레이어 생성.
* @param id — 레이어 ID
* @param data — MMSI별 궤적 데이터
* @param currentTime — startTime 기준 상대 시간 (ms)
* @param trailLength — 페이드 길이 (ms, 기본 1시간)
*/
export function createTripsLayer(
id: string,
data: TripsData[],
currentTime: number,
trailLength = 3_600_000,
) {
return new TripsLayer<TripsData>({
id,
data,
getPath: (d) => d.path,
getTimestamps: (d) => d.timestamps,
getColor: (d) => d.color,
currentTime,
fadeTrail: true,
trailLength,
widthMinPixels: 2,
widthMaxPixels: 4,
jointRounded: true,
capRounded: true,
});
}