- 제주 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.0 KiB
2.0 KiB
2026-07-09 스테이션바 원거리 구조물 마크 겹침 수정
소요 시간: 6분 Context 사용량: input 540k / output 3k tokens
문제 (스크린샷 제보)
스테이션바에 교량 마크 2개가 붙어 있고 라벨이 "귀어음천교"처럼 보임 — 실제로는 "귀덕천교"와 "어음천교" 라벨이 같은 위치에 겹쳐 찍힌 것. (귀어음천교라는 시설물은 없음)
원인
지장물 KML의 교량 3개 통과 시점(실데이터 계산):
| 교량 | 세그1 최근접 | 실제 통과 |
|---|---|---|
| 귀덕천교 | t=194.6s, 24m | 세그먼트 1 끝 (정상) |
| 금성천교 | t=197.1s(끝 클램프), 1358m | 세그먼트 3 (t=510.8s, 3m) |
| 어음천교 | t=197.1s(끝 클램프), 1880m | 세그먼트 3 (t=565.2s, 59m) |
pxPassesTo의 통과 인정 거리(TH)가 max(100, 최근접거리×3) — 근접 통과가 없는 구조물은
TH 가 수 km 로 늘어나 전체 비행이 "통과"로 인정 → 최근접 프레임(세그먼트 끝)에 마크 생성 →
세그1 끝에서 실제 통과하는 귀덕천교와 같은 px 에 3개 마크·라벨이 겹침.
수정 — client/src/stationbar/StationBar.tsx
pxPassesTo에 근접 통과 상한PASS_MAX_M = 300추가: 이 영상(세그먼트)에서 300m 이내로 접근하지 않은 구조물은 마크 생략. 해당 구조물은 실제 통과하는 세그먼트의 바에 정상 표시됨 (세그먼트 전환 시 frames 교체 → 마크 재계산)
검증
- 실데이터 기준: 세그1 → 귀덕천교만(24m ✓), 금성·어음 제외(1358/1880m) ✓ 세그3 → 금성천교(3m)·어음천교(59m) 표시 ✓
- tsc+vite 빌드 통과, 54000 포트 새 번들(index-CFrrDGW7.js) 서빙
다음 단계 참고
- PASS_MAX_M(300m)은 역사처럼 노선 옆 구조물도 포함하도록 여유 있게 설정 — 도로/철도 공통으로 문제없을 값. 특수 데이터셋에서 조정 필요 시 route.json 파라미터화 검토