기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
KMZ → 영상 표출 전 과정 그림 설명서 작성
소요 시간: 약 20분 Context 사용량: input ~95k / output ~14k tokens
요청
- "KMZ 파일을 시작으로 동영상에 위치시키기까지의 과정을 논리적으로 그림과 함께 자세히 설명"
산출물
docs/쉬운설명_KMZ에서_영상표출까지_전과정.md(+ .html / .pdf, md2docs.sh)- SVG 도식 6점: 전체 파이프라인 / KMZ 내부구조·Placemark 해부 / 표고 datum / 좌표 3단 변환 / 핀홀 투영 / cover 정렬·평활
문서 구성 (8단계 + 보너스)
- KMZ 압축 해제 — fflate
unzipSync,.kml우선 (geoData.ts parseKmzL295) - KML 폴더 트리 재귀 + Placemark 수집 (
walkL376,parseKmlDescPropsL276) - 폴더명 기반 POI/구조물 분류 — 교량·터널·구교=구조물, 지장물·출입문=POI, KAKAO_RAIL=POI+역사 (
handlePlacemarkL331) - 표고 결정 — 드래그보정 > DEM > 최근접 측점 정표고, geoidOffset(대전 25.8m) datum 정합
- 좌표 변환 — 위경도 → EPSG:5186 TM(proj4) → 드론 기준 상대 ENU (
projectPointL334) - 회전 — Rz(−yaw)·Rx(pitch)·Ry(roll) → 카메라 좌표, Zc≤0/FOV/거리 필터 (
toCameraCoordsL301) - 핀홀 투영 — u=0.5+(Xc/Zc)(f/sW) (
pixelFromCameraL126) - 화면 배치 — object-fit:cover 정렬(StationOverlay L948) + 속도적응 평활(smoothStep L49) + 60fps RAF
★ 역투영 드래그 보정 (
worldFromPixelL149)
검증
- 실제 소스(geoData.ts / geoProjection.ts / StationOverlay.tsx)를 읽고 단계·라인 확인 후 작성 (라인은 2026-07-03 기준).
- md2docs.sh 변환 정상(HTML 31KB, PDF 140KB).
참고
- 초등학생 수준 눈높이(메모리 기본값) + 파일·라인 근거 병기 형식. 기존 쉬운설명 시리즈와 동일한 스타일.