- 해경 기지 선택 → 주변 불법어선·어구 자동 탐지
- 탐색 반경 10~100NM 설정 가능
- 중국 선박 대상 위험도 자동 판정 (CRITICAL/HIGH/MEDIUM)
- 비허가 수역 진입 → CRITICAL
- 수역I 저인망 의심 → HIGH
- 다크베셀 (AIS 비정상) → HIGH
- 어구/어망 AIS 신호 → HIGH
- 조업 추정 (2~6kn) → MEDIUM
- 운반선/환적 의심 → MEDIUM
- 우선순위 정렬: 위험도 → 거리순
- 선박 클릭 → 지도 이동 (flyTo)
- 순찰 루트 제안 (가장 가까운 고위험 대상부터)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 탑메뉴 '작전가이드' 버튼 추가 (현장분석 옆)
- OpsGuideModal: 7개 탭 구성
1. 작전 개요 (톤급별 구역/기간/임무 + 7일 스케줄)
2. PT 저인망 대응 5단계 (접근 금지구역, 중국어 경고문)
3. GN 유자망 대응 5단계 (다크베셀 탐지, AIS 재가동)
4. PS 위망 선단 대응 5단계 (단독접근 금지, 宁波海裕)
5. FC 운반선 환적 대응 4단계 (환적 신뢰도 판정)
6. 어구 수거 절차 4단계 (자망/정치망/통발 식별)
7. 조치 기준 (8대 위반유형 알람 등급 + 감시 강화 시기)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 한국 현황 탑메뉴에 '보고서' 버튼 추가
- ReportModal: 현재 실시간 데이터 기반 7개 섹션 자동 보고서
1. 전체 해양 현황 (선박수, 국적별)
2. 중국어선 활동 분석 (속도별 상태)
3. 어구/어망 유형별 분석 (GB/T 5147 기반)
4. 특정어업수역별 분포 (I~IV + 수역 외)
5. 위험 평가 (다크베셀, 수역 외, 조업 중)
6. 국적별 선박 TOP 10
7. 건의사항 5건
- 인쇄/PDF 내보내기 기능 (새 창 → window.print)
- 한중어업협정 허가현황 기반 자동 위반 판정
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- S&P Global Market Intelligence (2026-03-19) 보고서 기반
- 이란 상선 공격 총 30건 중 식별 가능한 27척 데이터 추가
- 선박별: IMO, 국적, 유형, 피격 일시, 위치, 피해 정도
- 유형별: 탱커 52%, 벌크선 21%, 컨테이너 17%, 예인선 7%
- 해역별: UAE 48%, 오만 28%, 쿠웨이트/카타르 등
- 기존 리플레이 이벤트 ID와 연동
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- AI 해양분석 챗패널 추가 (AiChatPanel, Ollama/Qwen 2.5:7b)
- 시스템 프롬프트에 실시간 선박 데이터 자동 주입
- 보라/퍼플 톤 UI 차별화
- Vite 프록시 /ollama 추가
- 이란 발전소 20→29개 확장 (Wikipedia 기반 좌표/용량 보정)
- 선박 현황 폰트 사이즈 축소 (11→9px, 13→10px)
- OSINT LIVE 3개, 재난뉴스 2개 표시 + 스크롤
- 한국/중국 선박현황, 조업분석 기본 접힘
- AI 해양분석 기본 펼침
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 해외시설 10개국 에너지/위험시설 데이터 56개소 (meEnergyHazardFacilities.ts)
- 이란 발전소 8→20개 확장 (화력/수력/원자력/풍력/태양광)
- 3단계 레이어 트리: 국가 → 에너지/위험 → 세부시설 (발전소/풍력/원자력/화력/석유화학/LNG/유류/위험물)
- 해외시설 총합 카운트 표시 + 각 단계별 시설 수 자동 계산
- MEEnergyHazardLayer: 시설별 SVG/이모지 아이콘 + 팝업
- 풍력단지 아이콘 한국 현황과 동일 (WindTurbineIcon export)
- 풍력단지 색상 진하게 (#00bcd4 → #0891b2)
- 풍력단지 팝업 공통 스타일 적용
- 영국 → 이스라엘 교체 (overseasUK → overseasIsrael)
- LayerVisibility 인덱스 시그니처 추가 (동적 레이어 키 지원)
- D+20 나탄즈-디모나 핵시설 교차공격 리플레이 이벤트 6건
- 에쉬콜 발전소 좌표 수정 (아슈도드 정확 위치)
- Java 17 호환: Thread.ofVirtual() → new Thread() (로컬 빌드용)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- cnFacilities.ts: 중국 핵·화력발전소 7개, 군사시설 7개 데이터
- jpFacilities.ts: 일본 핵·화력발전소 8개, 군사시설 7개 데이터
- CnFacilityLayer / JpFacilityLayer: 마커+팝업 레이어 컴포넌트
- LayerPanel: OverseasItem에 children 계층 지원 추가
- App.tsx: cnPower/cnMilitary/jpPower/jpMilitary 레이어 상태 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 선택된 어구그룹: 진한 주황 fill(0.25) + 굵은 경계선(3px)
- 모선 존재 시: 28px 주황 원 + glow + 'M' 라벨 + 선박명
- zoom 시 자동 선택 + 펼침
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- risk.py: 특정어업수역(ZONE_I~IV) 내 미허가 어선 +25점 가산
- fleet.py: DBSCAN → 고정 그리드 셀(5NM) 클러스터링 (체인 효과 차단)
- max_cluster_size=20으로 거대 클러스터 방지
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ShipLayer: buildFleetGroups() 제거 → Python analysisMap cluster_id 기반
- 선박 클릭 시 같은 cluster_id 멤버만 연결선 표시
- AnalysisOverlay: 보라색 100NM+ 클러스터 연결선 제거
- 프론트엔드 전체 순회 제거로 성능 복원
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- buildFleetGroups(): BFS 3NM 클러스터링으로 전체 중국어선 사전 그룹핑
- mmsi → groupId 맵으로 어느 멤버를 눌러도 같은 그룹 표시
- 그룹별 유형 자동 판별 (trawl_pair/purse_seine/transship/cluster)
- ShipLayer: detectFleet → buildFleetGroups 기반으로 전환
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>