kcg-monitoring/frontend/src/services/coastGuard.ts
htlee 2534faa488 feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환
- frontend/ 폴더로 프론트엔드 전체 이관
- signal-batch API 연동 (한국 선박 위치 데이터)
- Tailwind CSS 4 + CSS 변수 테마 토큰 (dark/light)
- i18next 다국어 (ko/en) 인프라 + 28개 컴포넌트 적용
- 레이어 패널 트리 구조 재설계 (카테고리별 온/오프, 범례)
- Google OAuth 로그인 화면 + DEV LOGIN 우회
- 외부 API CORS 프록시 전환 (Airplanes.live, OpenSky, CelesTrak)
- ShipLayer 이미지 탭 전환 (signal-batch / MarineTraffic)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 13:54:41 +09:00

83 lines
5.0 KiB
TypeScript

// ═══ 대한민국 해양경찰청 시설 위치 ═══
// Korea Coast Guard (KCG) facilities
export type CoastGuardType = 'hq' | 'regional' | 'station' | 'substation' | 'vts';
export interface CoastGuardFacility {
id: number;
name: string;
type: CoastGuardType;
lat: number;
lng: number;
}
const TYPE_LABEL: Record<CoastGuardType, string> = {
hq: '본청',
regional: '지방청',
station: '해양경찰서',
substation: '파출소',
vts: 'VTS센터',
};
export { TYPE_LABEL as CG_TYPE_LABEL };
export const COAST_GUARD_FACILITIES: CoastGuardFacility[] = [
// ═══ 본청 ═══
{ id: 1, name: '해양경찰청 본청', type: 'hq', lat: 36.9870, lng: 126.9300 },
// ═══ 지방해양경찰청 ═══
{ id: 10, name: '중부지방해양경찰청', type: 'regional', lat: 37.4563, lng: 126.5958 },
{ id: 11, name: '서해지방해양경찰청', type: 'regional', lat: 34.8118, lng: 126.3922 },
{ id: 12, name: '남해지방해양경찰청', type: 'regional', lat: 34.7436, lng: 127.7370 },
{ id: 13, name: '동해지방해양경찰청', type: 'regional', lat: 37.7695, lng: 128.8760 },
{ id: 14, name: '제주지방해양경찰청', type: 'regional', lat: 33.5170, lng: 126.5310 },
// ═══ 해양경찰서 ═══
{ id: 20, name: '인천해양경찰서', type: 'station', lat: 37.4500, lng: 126.6100 },
{ id: 21, name: '평택해양경찰서', type: 'station', lat: 36.9694, lng: 126.8319 },
{ id: 22, name: '태안해양경찰서', type: 'station', lat: 36.7456, lng: 126.2978 },
{ id: 23, name: '보령해양경찰서', type: 'station', lat: 36.3500, lng: 126.5880 },
{ id: 24, name: '군산해양경찰서', type: 'station', lat: 35.9750, lng: 126.6530 },
{ id: 25, name: '목포해양경찰서', type: 'station', lat: 34.7930, lng: 126.3840 },
{ id: 26, name: '완도해양경찰서', type: 'station', lat: 34.3110, lng: 126.7550 },
{ id: 27, name: '여수해양경찰서', type: 'station', lat: 34.7440, lng: 127.7360 },
{ id: 28, name: '통영해양경찰서', type: 'station', lat: 34.8540, lng: 128.4330 },
{ id: 29, name: '창원해양경찰서', type: 'station', lat: 35.0800, lng: 128.5970 },
{ id: 30, name: '부산해양경찰서', type: 'station', lat: 35.1028, lng: 129.0360 },
{ id: 31, name: '울산해양경찰서', type: 'station', lat: 35.5067, lng: 129.3850 },
{ id: 32, name: '포항해양경찰서', type: 'station', lat: 36.0320, lng: 129.3650 },
{ id: 33, name: '동해해양경찰서', type: 'station', lat: 37.5250, lng: 129.1140 },
{ id: 34, name: '속초해양경찰서', type: 'station', lat: 38.2040, lng: 128.5910 },
{ id: 35, name: '제주해양경찰서', type: 'station', lat: 33.5200, lng: 126.5250 },
{ id: 36, name: '서귀포해양경찰서', type: 'station', lat: 33.2400, lng: 126.5620 },
// ═══ 주요 파출소 ═══
{ id: 50, name: '옹진해양경찰파출소', type: 'substation', lat: 37.0333, lng: 125.6833 },
{ id: 51, name: '연평해양경찰파출소', type: 'substation', lat: 37.6660, lng: 125.7000 },
{ id: 52, name: '백령해양경찰파출소', type: 'substation', lat: 37.9670, lng: 124.7170 },
{ id: 53, name: '덕적해양경찰파출소', type: 'substation', lat: 37.2320, lng: 126.1450 },
{ id: 54, name: '흑산해양경찰파출소', type: 'substation', lat: 34.6840, lng: 125.4350 },
{ id: 55, name: '거문해양경찰파출소', type: 'substation', lat: 34.0290, lng: 127.3080 },
{ id: 56, name: '추자해양경찰파출소', type: 'substation', lat: 33.9540, lng: 126.2960 },
{ id: 57, name: '울릉해양경찰파출소', type: 'substation', lat: 37.4840, lng: 130.9060 },
{ id: 58, name: '독도해양경찰파출소', type: 'substation', lat: 37.2426, lng: 131.8647 },
{ id: 59, name: '마라도해양경찰파출소', type: 'substation', lat: 33.1140, lng: 126.2670 },
// ═══ VTS (Vessel Traffic Service) 센터 ═══
{ id: 100, name: '인천VTS', type: 'vts', lat: 37.4480, lng: 126.6020 },
{ id: 101, name: '평택VTS', type: 'vts', lat: 36.9600, lng: 126.8220 },
{ id: 102, name: '대산VTS', type: 'vts', lat: 36.9850, lng: 126.3530 },
{ id: 103, name: '군산VTS', type: 'vts', lat: 35.9880, lng: 126.5800 },
{ id: 104, name: '목포VTS', type: 'vts', lat: 34.7850, lng: 126.3780 },
{ id: 105, name: '완도VTS', type: 'vts', lat: 34.3250, lng: 126.7540 },
{ id: 106, name: '여수VTS', type: 'vts', lat: 34.7480, lng: 127.7420 },
{ id: 107, name: '통영VTS', type: 'vts', lat: 34.8500, lng: 128.4280 },
{ id: 108, name: '마산VTS', type: 'vts', lat: 35.0720, lng: 128.5780 },
{ id: 109, name: '부산VTS', type: 'vts', lat: 35.0750, lng: 129.0780 },
{ id: 110, name: '울산VTS', type: 'vts', lat: 35.5100, lng: 129.3750 },
{ id: 111, name: '포항VTS', type: 'vts', lat: 36.0450, lng: 129.3800 },
{ id: 112, name: '동해VTS', type: 'vts', lat: 37.5300, lng: 129.1200 },
{ id: 113, name: '속초VTS', type: 'vts', lat: 38.2100, lng: 128.5930 },
{ id: 114, name: '제주VTS', type: 'vts', lat: 33.5150, lng: 126.5400 },
];