- prediction: G-01/G-04/G-05/G-06 위반 분류 + 쌍끌이 공조 탐지 추가 - backend: 모선 확정/제외 API + signal-batch 항적 프록시 + ParentResolution 점수 근거 필드 확장 - frontend: 어구 탐지 그리드 다중필터/지도 flyTo, 후보 검토 패널(점수 근거+확정/제외), 24h convex hull 리플레이 + TripsLayer 애니메이션 - gitignore: 루트 .venv/ 추가
43 lines
1015 B
TypeScript
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,
|
|
});
|
|
}
|