기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
시간↔측점 대응표 그림 — 단계별 소스 파일 매칭
소요 시간: 5분 Context 사용량: input 60k / output 4k tokens (추정)
질문
docs/그림_시간측점대응표.png 그림의 4개 단계(영상 프레임 → 프레임÷fps=시간 / GPS→측점 투영 → 시간↔측점 대응표)에 해당하는 실제 소스 파일이 무엇인지.
답변 요약
| 그림 단계 | 파일 |
|---|---|
| ① 영상 프레임 + 드론 GPS 기록 (데이터 읽기) | client/src/utils/geoData.ts (CSV 파싱), client/src/store/geoStore.ts (보관), client/src/types/geo.ts (타입) |
| ② 프레임번호 ÷ fps = 시간 | client/src/utils/timecode.ts (frameToSeconds), client/src/stationbar/StationBar.tsx (videoFps 유도 + f.frame / videoFps), client/src/App.tsx:161 (handleSeek(frame / fps)) |
| ③ GPS → 측점 (선로에 투영) | client/src/stationbar/StationBar.tsx (projectChainage, stationLine), client/src/components/overlay/RoutePanel.tsx (동일 계산), client/src/utils/chainage.ts (공유 유틸), 서버측 server/src/services/geoMatch.ts |
| ④ 시간 ↔ 측점 대응표 | client/src/stationbar/StationBar.tsx (ViewedPoint[] precompute = 대응표 그 자체), client/src/components/overlay/StationOverlay.tsx (시간→측점 표시), client/src/components/geo/GeoSearch.tsx (측점→시간 검색 이동) |
참고
utils/chainage.ts는 공유 유틸로 존재하나 현재 import 하는 곳이 없음 — StationBar/RoutePanel 이 각자 동일 로직을 내장하고 있음 (통합 여지 있음).