kcg-monitoring/prediction/algorithms
htlee d9ba1b0e1a feat: 환적탐지 Python 이관 — O(n²) 프론트엔드 근접탐지 → 서버사이드 공간인덱스
- prediction/algorithms/transshipment.py 신규: 그리드 공간인덱스 O(n log n) 환적 쌍 탐지
  → 후보 필터(sog<2, tanker/cargo/fishing, 외국해안 제외) + 110m 근접 + 60분 지속
- prediction/scheduler.py: 8단계 환적탐지 사이클 추가, pair_history 영속화
- prediction/models/result.py: is_transship_suspect, transship_pair_mmsi, transship_duration_min
- prediction/db/kcgdb.py: UPSERT 쿼리에 3개 컬럼 추가
- database/migration/008_transshipment.sql: ALTER TABLE 3개 컬럼 추가
- backend VesselAnalysisResult + VesselAnalysisDto: TransshipInfo 중첩 DTO 추가
- frontend types.ts: algorithms.transship 타입 추가
- frontend useKoreaFilters.ts: O(n²) 65줄 → analysisMap 소비 8줄
  → currentTime 매초 의존성 제거, proximityStartRef 제거

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:29:44 +09:00
..
__init__.py feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
dark_vessel.py feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
fishing_pattern.py feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
fleet.py feat: 선단 탐지를 행동 패턴 매칭으로 전환 + 수역 위험도 가산 2026-03-20 17:46:10 +09:00
location.py feat: 특정어업수역 Ⅰ~Ⅳ 폴리곤 기반 수역 분류 — 경도 하드코딩 → point-in-polygon 교체 2026-03-20 12:47:29 +09:00
risk.py fix: 위험도 점수 수역 가산 + 클러스터 그리드 셀 방식 전환 2026-03-20 17:38:49 +09:00
spoofing.py feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
track_similarity.py feat: 선단 등록 DB + 어망/어구 정체성 추적 시스템 2026-03-20 18:07:15 +09:00
transshipment.py feat: 환적탐지 Python 이관 — O(n²) 프론트엔드 근접탐지 → 서버사이드 공간인덱스 2026-03-23 12:29:44 +09:00