- 등농도선(marching squares) 레이어 추가 — AEGL-1/2/3 경계선 PathLayer 표출
- 풍속 기반 sim 도메인 동적 산정 (L = 10~50km)
- 히트맵 영역 기준 지도 자동 fit-bounds
- 분석 복원 시 spilUnitCd로 연속/순간 유출 분기
- admin 패널 전반 디자인 토큰 정리 (color-danger, accent rgba)
- 백엔드 vessels 라우터/서비스/스케줄러 추가 (1분 주기 한국 해역 폴링)
- 공통 useVesselSignals 훅 + vesselApi/vesselSignalClient 서비스 추가
- MapView에 VesselLayer/VesselInteraction/MapBoundsTracker 통합 (호버·팝업·상세 모달)
- OilSpill/HNS/Rescue/Incidents 뷰에 선박 신호 연동
- vesselMockData 정리, aerial IMAGE_API_URL 기본값 변경
- 사고별 이미지 분석 API 및 항공 미디어 조회 연동
- 사고 마커 팝업 디자인 개선, 필터링된 사고만 지도 표시
- 이미지 분석 시 사고명 파라미터 지원, 기본 예측시간 6시간으로 변경
- 유출량 정밀도 NUMERIC(14,10) 확대 (migration 031)
- OpenDrift 유종 매핑 수정 (원유, 등유)
- GeoJSON 기반 영해기선 거리 계산 및 구역(3/12/25/50해리) 판별
- point-in-polygon 및 point-to-segment 거리 알고리즘 적용
- 해양환경관리법 제22조 기반 배출 규정 표출
- 서해 NLL 경로 좌표 추가 (백령도 부근까지 연장)
- 지도 스타일 상수를 mapStyles.ts로 추출
- useBaseMapStyle 훅 생성 (mapToggles 기반 스타일 반환)
- 9개 탭 컴포넌트의 하드코딩 스타일을 공유 훅으로 교체
- 각 Map에 S57EncOverlay 추가
- 초기 mapToggles를 모두 false로 변경 (기본지도 표시)
- ENC 타일 프록시 엔드포인트 추가 (style, sprite, font, globe, enc 벡터타일)
- S57EncOverlay 컴포넌트 구현 (공식 style.json 기반 레이어 동적 추가/제거)
- 맵 토글 라디오 버튼 방식으로 변경 (한 번에 하나만 활성화)
- 언마운트 시 map.style 파괴 상태 안전 처리
- Python 역방향 시뮬레이션 결과(backwardParticles)를 rsltData에 저장
- 리플레이 중 역방향 파티클을 보라색(#a855f7) ScatterplotLayer로 표시
- 전체 파티클 경로 외각을 컨벡스 헐 PolygonLayer로 표시
- 재생 완료 후 재생 버튼 클릭 시 처음부터 재시작 (↺ 아이콘)
- 재생 바 드래그 시크 기능 추가 (onMouseDown + document mousemove/mouseup)
- 백엔드: backtrackAnalysisService 신규 개발
* AIS 기반 선박 항적 API 연동 및 공간 조회
* 공간(40%)/시간(25%)/행동(20%)/선박유형(15%) 가중치 위험도 점수 산정
* 상위 5척 리플레이 데이터 및 충돌 이벤트 생성
* Python 서버 미연동 시 폴백 메커니즘 제공
- 백엔드: 역추적 생성 시 동기 분석 → BacktrackResult 즉시 반환
- 프론트엔드: 모달에서 유출 시각/분석 범위/탐색 반경 직접 입력 가능
- 프론트엔드: 리플레이 바에 실제 분석 시간 범위 동적 표시
- DB: AIS_TRACK 테이블 신규 생성 (선박 항적 이력 + GIS 인덱스)
WeatherRightPanel.tsx 충돌을 HEAD(feature/report) 기준으로 해결:
- WindCompass/ProgressBar/StatCard 재사용 컴포넌트 유지
- w-[380px] 너비 및 여유 패딩(px-5) 유지
- astronomy/alert props 기반 동적 데이터 유지
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
충돌 해결:
- TopBar.tsx: mapTypes(feature/report) + measureMode/setMeasureMode(develop) 병합
- mapStore.ts: loadMapTypes API(feature/report) + 측정 기능(develop) 병합
- prediction: 커스텀 다크 캘린더/시간 드롭다운, DMS 좌표 입력, 모델 버튼 3열 배치
- incidents: 밝은 지도 테마, 해양환경관리법 제22조 기반 오염물 배출규정 기능
- 지도 클릭시 영해기선 거리별 배출 가능 여부 표시 (OSM 실측 좌표 기반)
- 3해리/12해리/25해리 경계선 표시
- weather: 기상 범례 사이즈 축소 + 폰트 축소
- map: 풍속/파고/수온/해류 패널 축소·투명화, 확대/축소 버튼 축소, 좌표 중앙 배치
- map: 범례 기본 접힌 상태
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- MMSI 선종 불일치 탐지: AIS 등록 선종 vs AI 영상 분석 선종 비교, 지도 위 위치 표시
- 변화 감지: AS-IS/현재 시점 복합 정보원(위성/CCTV/드론/AIS) 오버레이 비교
- 연안자동감지: 지도 폴리곤 드로잉으로 감시 구역 등록, 주기/모니터링 방법 설정
- 위성요청 라벨 '위성영상'으로 변경, 서브탭 순서 재배치
- aerial:spectral 권한 트리 마이그레이션 추가 (022)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>