- tracking 패키지 TS→JS 변환 (stores, services, components, hooks, utils) - 모달 항적조회 + 우클릭 항적조회 - 라이브 연결선 (PathStyleExtension dash + 1초 인터벌) - TrackQueryModal, TrackQueryViewer, GlobalTrackQueryViewer - 항적 레이어 (trackLayer.js) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
76 lines
2.0 KiB
JavaScript
76 lines
2.0 KiB
JavaScript
/**
|
|
* 선박 아이콘 유틸리티
|
|
*
|
|
* 선박 종류 코드와 항해/정박 상태에 따라 적절한 아이콘을 제공
|
|
*/
|
|
|
|
import { ICON_MAPPING_KIND_MOVING, ICON_MAPPING_KIND_STOPPING } from '../../types/constants';
|
|
|
|
/**
|
|
* 선박 종류 코드와 항해 상태로 아이콘 이름 가져오기
|
|
*
|
|
* @param {string} shipKindCode 선박 종류 코드 (000020-000028)
|
|
* @param {boolean} [isMoving=true] 항해 중 여부
|
|
* @returns {string} 아이콘 매핑 키
|
|
*/
|
|
export function getShipIconUrl(shipKindCode, isMoving = true) {
|
|
const iconMapping = isMoving
|
|
? ICON_MAPPING_KIND_MOVING
|
|
: ICON_MAPPING_KIND_STOPPING;
|
|
|
|
return iconMapping[shipKindCode] || iconMapping['000027'];
|
|
}
|
|
|
|
/**
|
|
* 속도 기반 선박 아이콘 가져오기
|
|
* 0.5 knots를 기준으로 항해 중 여부를 결정
|
|
*
|
|
* @param {string} shipKindCode 선박 종류 코드
|
|
* @param {number} [speed=0] 선박 속도 (knots)
|
|
* @returns {string} 아이콘 매핑 키
|
|
*/
|
|
export function getV2ShipIconUrl(shipKindCode, speed = 0) {
|
|
const isMoving = speed > 0.5;
|
|
return getShipIconUrl(shipKindCode, isMoving);
|
|
}
|
|
|
|
/**
|
|
* 선박 종류 코드를 한글 이름으로 변환
|
|
*
|
|
* @param {string} shipKindCode 선박 종류 코드
|
|
* @returns {string} 선박 타입 한글 이름
|
|
*/
|
|
export function getShipKindName(shipKindCode) {
|
|
const kindNames = {
|
|
'000020': '어선',
|
|
'000021': '함정',
|
|
'000022': '여객선',
|
|
'000023': '화물선',
|
|
'000024': '유조선',
|
|
'000025': '관공선',
|
|
'000027': '기타',
|
|
'000028': '부이',
|
|
};
|
|
|
|
return kindNames[shipKindCode] || '기타';
|
|
}
|
|
|
|
/**
|
|
* 신호 소스 코드를 이름으로 변환
|
|
*
|
|
* @param {string} signalSourceCode 신호 소스 코드
|
|
* @returns {string} 신호 소스 이름
|
|
*/
|
|
export function getSignalSourceName(signalSourceCode) {
|
|
const sourceNames = {
|
|
'000001': 'AIS',
|
|
'000002': 'E-NAV',
|
|
'000003': 'V-PASS',
|
|
'000004': 'VTS-AIS',
|
|
'000005': 'VTS-RADAR',
|
|
'000016': 'D-MF/HF',
|
|
};
|
|
|
|
return sourceNames[signalSourceCode] || signalSourceCode;
|
|
}
|