- 제주 DJI 시간기반 비행로그(CSV) 파싱 어댑터: 세그먼트 창 정렬, 가상 fps 환산 - 분할 영상(이름 오름차순) 연속재생 + 좌상단 영상목록 콤보(선택 재생), 세그먼트별 드론 로그 재정렬 - KML 다중 파일 병합 파싱: STA 체이니지 측점(71개) + 지장물 신포맷(타입/이름/텍스트박스_색상) - 시설물 라벨: 지정색 배경 박스 + 흰 글자, 팝업 중앙 정렬, 호버 구간 깜빡임 수정 - 카메라 자동감지(djmd: ZenmuseP1, focal 29.9mm) + <영상명>.camera.json PC 저장/폴더 자동 적용 - Yaw 자동추정(GPS 진행방위 기반) + 라벨 드래그 Yaw 역산 모드 - 스테이션바: GPS 이동거리 진행도(호버 시 정지), 노선밖 거리 표기, 원거리 구조물 마크 제외 - 서버: /api/camera 라우트, ecosystem 포트 54000·제주 데이터 경로 - docs/history: 작업 이력 21건 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
2026-07-09 Yaw 자동추정 + 드래그 역산 + 카메라값 PC 저장
소요 시간: 15분 Context 사용량: input 850k / output 8k tokens
작업 내용 (요청 3건)
1. Yaw 자동 추정 버튼 (2번 방안)
- 카메라 파라미터 패널 'Yaw ±' 아래 [Yaw 자동추정 (비행경로 기준)] 버튼
- 알고리즘: 전진 구간(속도≥2m/s)에서 GPS 진행 방위(1초 창 평활) − 짐벌 헤딩 차이 수집 (|차|≥60° 는 옆보기 촬영으로 간주 제외) → 중앙값을 Yaw± 로 설정
- 실데이터 검증: 세그먼트1 유효 샘플 1889개, 중앙값 −16.3° — 사용자가 이전에 수동 튜닝했던 −16.5° 와 거의 일치 (알고리즘·기존 튜닝 상호 검증)
2. Yaw 드래그 역산 모드 (3번 방안)
- POI 편집 섹션에 [🧭 Yaw 보정 — POI를 실제 위치(좌우)로 드래그] 모드 추가 (편집/세로화각 모드와 상호 배제, 기존 fovMode 패턴 재사용)
- 역산: θ0=atan2(Xc,Zc)(현재 투영각) vs θ1=atan((px*−0.5−cx0)·sW/f)(드롭 지점 요구각)
→
yawOffset += (θ0−θ1). |Δ|>45° 는 오조작으로 거부 - 게이팅(커서/히트/팝업/드래그 피드백) 4곳에 yawMode 연결
3. 카메라값 저장: 서버 → 사용자 PC 다운로드
- 📷 줄 버튼 '서버에 저장' → [PC에 저장]: 현재 파라미터 전체(Yaw± 보정 결과 포함)를
<영상이름>.camera.json으로 브라우저 다운로드 - 받은 파일을 영상 폴더에 넣으면 폴더 선택 시 최우선 자동 적용(기존 로더 그대로)
- 서버 라우트(/api/camera)는 유지하되 UI 에서는 미사용
검증
- tsc+vite 빌드 통과, 새 번들(index-D5ltlp17.js) 서빙
- Yaw 자동 추정 실데이터 시뮬레이션 −16.3° (수동값 −16.5° 부합)
사용 흐름 (사용자 안내)
- [Yaw 자동추정] → 대략 정렬 2. [🧭 Yaw 보정] 모드에서 라벨 하나를 실제 지물로 드래그 → 미세 조정
- [PC에 저장] → 받은
<영상이름>.camera.json을 영상 폴더로 이동 → 이후 폴더 선택만으로 적용