Files
GhiVideo_v4/docs/history/2026-07-03_1130_KMZ-영상표출-전과정-그림설명서.md
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:32:51 +09:00

1.8 KiB
Raw Permalink Blame History

KMZ → 영상 표출 전 과정 그림 설명서 작성

소요 시간: 약 20분 Context 사용량: input ~95k / output ~14k tokens

요청

  • "KMZ 파일을 시작으로 동영상에 위치시키기까지의 과정을 논리적으로 그림과 함께 자세히 설명"

산출물

  • docs/쉬운설명_KMZ에서_영상표출까지_전과정.md (+ .html / .pdf, md2docs.sh)
  • SVG 도식 6점: 전체 파이프라인 / KMZ 내부구조·Placemark 해부 / 표고 datum / 좌표 3단 변환 / 핀홀 투영 / cover 정렬·평활

문서 구성 (8단계 + 보너스)

  1. KMZ 압축 해제 — fflate unzipSync, .kml 우선 (geoData.ts parseKmz L295)
  2. KML 폴더 트리 재귀 + Placemark 수집 (walk L376, parseKmlDescProps L276)
  3. 폴더명 기반 POI/구조물 분류 — 교량·터널·구교=구조물, 지장물·출입문=POI, KAKAO_RAIL=POI+역사 (handlePlacemark L331)
  4. 표고 결정 — 드래그보정 > DEM > 최근접 측점 정표고, geoidOffset(대전 25.8m) datum 정합
  5. 좌표 변환 — 위경도 → EPSG:5186 TM(proj4) → 드론 기준 상대 ENU (projectPoint L334)
  6. 회전 — Rz(yaw)·Rx(pitch)·Ry(roll) → 카메라 좌표, Zc≤0/FOV/거리 필터 (toCameraCoords L301)
  7. 핀홀 투영 — u=0.5+(Xc/Zc)(f/sW) (pixelFromCamera L126)
  8. 화면 배치 — object-fit:cover 정렬(StationOverlay L948) + 속도적응 평활(smoothStep L49) + 60fps RAF ★ 역투영 드래그 보정 (worldFromPixel L149)

검증

  • 실제 소스(geoData.ts / geoProjection.ts / StationOverlay.tsx)를 읽고 단계·라인 확인 후 작성 (라인은 2026-07-03 기준).
  • md2docs.sh 변환 정상(HTML 31KB, PDF 140KB).

참고

  • 초등학생 수준 눈높이(메모리 기본값) + 파일·라인 근거 병기 형식. 기존 쉬운설명 시리즈와 동일한 스타일.