- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
POI 높이를 지면고도 기준으로 — 고정 이격거리 → 기본 OFF (드론 고도 변동 대응)
날짜: 2026-06-24
수정 파일: client/src/components/overlay/StationOverlay.tsx
요구
드론 고도가 오르내리는데, POI 이격거리를 고정값(24m)으로 두지 말고 드론고도 − 지면고도로 POI 높이를 표시하고 싶다.
해석
투영 수직간격 gap = 드론고도(alt) − (POI 지면고도 z + 지오이드).
- 고정 이격거리(ON):
gap=24m상수 → POI가 드론에 매달려 고도 변동 시 같이 떠/내려감(지물 이탈). - 지면고도 기준(OFF): POI를 지면고도 z 에 고정 →
gap이 매 프레임드론고도−지면고도로 자동 계산 → 드론이 오르내려도 POI가 고정 지상점에 그대로 붙음. (= 사용자가 원한 동작)
즉 별도 신규 모드 불필요 — 기존 poiDroneHeight=false(지면고도 모드)가 정확히 이 계산.
조치
DISPLAY_DEFAULTS.poiDroneHeighttrue → false (지면고도 기준을 기본값으로). 드론 고도 변동 환경에서 고정 이격거리는 부정확하므로 기본 off.poiDroneHeightRef초기값도 동일 상수 참조 → 자동 반영. 토글은 유지(원하면 고정모드로 복귀).- 지면고도 z 출처(false 모드): POI override(DEM/드래그) → 없으면
nearestCL.z(최근접 측점 표고). · 선로변 POI·교량(신대천교 등)은 측점 표고가 곧 지면/교량고도라 양호. · 선로에서 먼 POI는 🌐 DEM 표고 자동적용으로 실제 지면고도 채우는 걸 권장.
사용
- 기본값이 지면고도 기준으로 시작. 멀리·가까이 모두 고정 지상점에 붙어 자연스럽게 추종.
- 정밀이 필요하면 편집 모드 → 🌐 DEM 표고 자동적용(또는 표고 슬라이더/드래그).
- 고정 이격거리로 되돌리려면 "드론 높이와 POI 이격거리" 토글 ON.
검증
npm run build -w client(node20) tsc + vite build 통과.
소요 시간: 약 7분 Context 사용량: input ~385k / output ~4k tokens