Files
GhiVideo/docs/history/2026-07-02_종점마커-이동제거-실제위치표시.md
b23042andClaude Opus 4.8 e0ff5dd6d0 feat: 지도 나침반(OSM/위성) 추가 + 측점 검색·마커 정확도 개선 + POI/영상 수정
- 지도 기반 나침반(노스업, 현재위치, 시야 역삼각형): 호버 확대·휠 줌·클릭 위성전환, OSM/Esri 타일 서버 프록시(/api/tile)
- 스테이션 검색: 실제 측점(chain) 기준 이동, 없으면 '측점 없음' 안내
- 역 마커: 직교 투영 측점 일치 시에만 표시, 미도착 종점은 추가 방식
- POI 팝업 겹침/재등장·라벨 정합 수정
- 영상 fps 데이터 기반 자동 산출
- 기술/발표/쉬운설명 문서 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 18:03:30 +09:00

2.1 KiB

종점(대전조차장) 마커 끝-이동 제거 → 실제 직교 위치에 그대로 표시

소요 시간: 약 15분 Context 사용량: input ~260k / output ~5k tokens

사용자 원칙

  • POI(영상 오버레이) 정보: 현재 위치 반경 안만 표시.
  • 스테이션바 항목: 반경 없이, 측점선과 직교로 만나는 시설물이면 무조건 실제 위치에 표시.

문제

검색이 찾은 162080 자리에 대전조차장 마커가 없음. 원인: placeUnreachedTerminal 이 endGapPx>0 일 때 최우측 역사 마커를 트랙 끝(TRACK_END) 으로 이동('미도착' 표시) → 드론이 종점 야드에서 162080을 여러 번 지나는데 마지막 통과 마커가 끝으로 옮겨져 검색 위치(실제 162080)와 어긋남.

수정 (StationBar.tsx)

placeUnreachedTerminalno-op(marks 그대로 반환)으로 변경 → 마커 끝-이동 제거.

  • 모든 162080 통과 마커가 실제 직교 위치에 유지(사용자 원칙과 일치).
  • 종점 이름(endStationName=대전조차장역)은 오른쪽 끝 고정 표시 유지.
  • 회색 미도착 gap(endGapPx) 자체는 트랙 색으로만 유지(마커는 안 옮김).

관련 상태

  • 역사: pxPassesAtMileage(측점 일치)로만 탐지(좌표근접·게이트 없음) → 직교 일치 통과에만, 반경 없음.
  • 교량/터널: pxPassesAtMileage 우선 + (측점/좌표 투영 없을 때만) pxPassesTo 폴백. 필요 시 폴백 제거 검토.

보정: 미도착 종점 마커는 '추가'로 복원

no-op 로 두니 드론이 못 간 '종점 162080'의 대전조차장 마커까지 사라짐(사용자 지적). → placeUnreachedTerminal 을 '이동'이 아니라 '추가'로 변경:

  • endGapPx>0 이면 최우측 역사 마커를 복사해 TRACK_END 에 unreached 로 push(기존 마커 유지).
  • 결과: 지나간 162080 통과는 실제 위치에 그대로 + 못 간 종점 162080은 끝에 미도착 표시.

검증

  • tsc --noEmit 통과, npm run build 성공 → 해시 index-D66Yy1Dn.js(HUD · 검색v5) :55000 서빙.