kcg-monitoring/prediction/pipeline/constants.py
htlee a68dfb21b2 feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시
- prediction/: FastAPI 7단계 분류 파이프라인 + 6개 탐지 알고리즘
  - snpdb 궤적 조회 → 인메모리 캐시(13K척) → 분류 → kcgdb 저장
  - APScheduler 5분 주기, Python 3.9 호환
  - 버그 수정: @property last_bucket, SQL INTERVAL 바인딩, rollback, None 가드
  - 보안: DB 비밀번호 하드코딩 제거 → env 환경변수 필수
- deploy/kcg-prediction.service: systemd 서비스 (redis-211, 포트 8001)
- deploy.yml: prediction CI/CD 배포 단계 추가 (192.168.1.18:32023)
- backend: PredictionProxyController (health/status/trigger 프록시)
- backend: AppProperties predictionBaseUrl + AuthFilter 인증 예외

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:10:21 +09:00

27 lines
660 B
Python

SOG_STATIONARY_MAX = 1.0
SOG_FISHING_MAX = 5.0
SOG_SAILING_MIN = 5.0
VESSEL_SOG_PROFILE = {
'TRAWL': {'min': 1.5, 'max': 4.5, 'mean': 2.8, 'cog_var': 'high'},
'PURSE': {'min': 2.0, 'max': 5.0, 'mean': 3.5, 'cog_var': 'circular'},
'LONGLINE': {'min': 0.5, 'max': 3.0, 'mean': 1.8, 'cog_var': 'low'},
'TRAP': {'min': 0.0, 'max': 2.0, 'mean': 0.8, 'cog_var': 'very_low'},
}
RESAMPLE_INTERVAL_MIN = 4
BIRCH_THRESHOLD = 0.35
BIRCH_BRANCHING = 50
MIN_CLUSTER_SIZE = 5
MMSI_DIGITS = 9
MAX_VESSEL_LENGTH = 300
MAX_SOG_KNOTS = 30.0
MIN_TRAJ_POINTS = 100
KR_BOUNDS = {
'lat_min': 32.0, 'lat_max': 39.0,
'lon_min': 124.0, 'lon_max': 132.0,
}