기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
# 시간↔측점 대응표 그림 — 단계별 소스 파일 매칭
|
|
|
|
**소요 시간**: 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 이 각자 동일 로직을 내장하고 있음 (통합 여지 있음).
|