Files
GhiVideo_v4/docs/history/2026-07-13_1657_설정파일-단순이름-지원.md
T
b23042andClaude Fable 5 7d51ba9945 표고 체계 정비·설정 파일 단순화·선형 클리핑·시연 준비
- 타원체고 기준 자동 변환: route.json ellipsoidal_height 선언 시 드론 고도(CSV 정표고)를
  영상 메타(djmd 6.6 타원체고)와의 차(지오이드고 자동 산출)만큼 보정, 세그먼트 전환에도 유지
- KML 표고 파이프라인: 좌표 고도(z) 사용(POI/측점), *_byDem.kml 자동 생성(DEM 조회·높이 속성 포함)
  + 로더의 _byDem 우선 규칙, 선형중심선(LineString) 로딩·경로표고 앵커
- 설정 파일: camera.json/display.json/route.json 단순 이름 인식, 화면표시 옵션 PC 저장/자동 적용,
  초기화 버튼을 환경설정 파일 기준 복원으로 변경, 저장 파일명 단순화
- 선형 표시: 표출된 마지막 측점까지 클립(경계 세그먼트 절단 + 관통 현 처리 — 구간 실종 수정)
- 스테이션바: 시점(0k000) 마크(실통과 위치), 노선밖 프레임 통과 오인 방지, 커서 배지 1m 단위,
  배너 연장/소요 실측값(측점 체이니지·영상 길이 합) 우선
- 세그먼트 전환 라벨 깜빡임 구조 수정(캐시 초기화·최근접 키 조회·이중 재계산 제거) +
  사전계산 프레임 불변값 호이스팅(재생 지연 해소)
- UI: 슬라이더/값 입력칸 휠 조절, 패널 버튼 위치 정렬, 저장 버튼 중복 제거, dev_mode(route.json)로
  영상제어 UI 표시 제어, 지오이드 최대 200, 이격거리 측점 동반 적용
- 시연: start-demo.bat + docs/DEMO.md
- docs/history: 작업 이력 30건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 20:37:46 +09:00

1.8 KiB

2026-07-13 설정 파일 단순 이름(camera/display/route.json) 지원

소요 시간: 8분 Context 사용량: input 2160k / output 4k tokens

배경

사용자가 설정 파일명을 route.json / camera.json / display.json 으로 단순화. route.json 은 기존 인식, camera.json·display.json 순수 이름은 접미사 규칙만 있어 미인식 상태였음. 새 폴더 경로 1-1_타원체고기준데이터(타원체고 z 의 측점.kml) + route.json 에 ellipsoidal_height: 100.823 필드 추가됨.

수정

client/src/utils/geoData.ts

  • parseCameraJson 우선순위: ① camera.json → ② <영상 base>(.camera).json → ③ *.camera.json (rootJson 필터에서 route.json/display.json 단순 이름도 제외 처리)
  • parseDisplayJson 우선순위: ① display.json → ② <영상 base>.display.json → ③ *.display.json

client/src/components/overlay/StationOverlay.tsx

  • [PC에 저장] 다운로드 파일명: <영상 base>.camera.json/<...>.display.jsoncamera.json / display.json
  • 버튼 툴팁 표기 갱신

client/src/types/geo.ts

  • RouteInfo 에 ellipsoidal_height?: number 추가 (파일 통과용 — 현재 투영 로직엔 미사용)

검증

  • 인식 규칙 시뮬레이션: camera.json / display.json / route.json 모두 인식 ✓
  • tsc+vite 빌드 통과, 새 번들(index-D6PNHGXU.js) 서빙

다음 단계 참고

  • ellipsoidal_height(100.823) 활용은 미구현 — 타원체고 기준 측점 z 와 드론 정표고 간 datum 변환에 쓸지, 경로표고 기본값으로 쓸지 등 의미 확정 필요 (현재 사용자는 camera.json 의 geoidOffset(20)/offZ(21.8) 수동 보정으로 대응 중)
  • 타원체고기준 폴더의 측점.kml 은 z 보유(77~114m) → _byDem 생성 대상 아님(로더가 z 그대로 사용)