- 타원체고 기준 자동 변환: 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>
1.6 KiB
1.6 KiB
2026-07-13 측점 라벨 투영 수정 + 스테이션바 시점 마크
소요 시간: 10분 Context 사용량: input 1030k / output 5k tokens
문제 1 (스크린샷 제보) — 0k000·0k100 다음에 바로 0k800 이 보임
원인
직전 작업(KML 선형중심선 로딩)의 부작용. 측점 라벨은 중심선의 최근접 '정점'에 스냅되는데 (nearestCL), 기존 중심선(측점 71개 자신)에선 자기 위치였지만, LineString 중심선은 CAD 유래라 직선 구간 정점이 성김 → 직선 구간 측점들이 굽이 정점으로 뭉쳐 스냅됨. 실측 오차: 0k200=23m, 0k400=223m, 0k600=422m.
수정 — StationOverlay.tsx
projectCL신설: 중심선 세그먼트 투영(선 위의 정확한 최근접점, z 는 선형보간)- 측점 라벨 스냅을 nearestCL(정점) → projectCL(투영) 로 교체. 투영 오차 0.02m 로 개선
- POI 지면고도(gz) 조회는 기존 nearestCL(z 참조용) 유지
문제 2 (요청) — 스테이션바에 시점(0k000) 값·위치 표시
수정 — StationBar.tsx
- structureMarks 에
appendStartMark추가: 첫 측점(최소 stationKm, 예: 0k000)의 통과 지점(pxPassesAtMileage)에 카테고리 '측점' 마크 push → Timeline 이 측점값 라벨 ("0k000") 을 해당 위치에 표시. 구조물 경로/폴백 경로 양쪽 반영 - 노선 진입 전 구간에선 통과가 없으므로 표시 안 됨(정상), 진입 시점 위치에 표시됨
검증
- 정점 스냅 vs 투영 오차 실측(위 수치), tsc+vite 빌드 통과, 새 번들(index-B6hy7ai4.js) 서빙