Files
GhiVideo/docs/history/2026-07-02_종점마커-이동제거-실제위치표시.md
T
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

34 lines
2.1 KiB
Markdown

# 종점(대전조차장) 마커 끝-이동 제거 → 실제 직교 위치에 그대로 표시
**소요 시간**: 약 15분
**Context 사용량**: input ~260k / output ~5k tokens
## 사용자 원칙
- POI(영상 오버레이) 정보: 현재 위치 반경 안만 표시.
- **스테이션바 항목: 반경 없이, 측점선과 직교로 만나는 시설물이면 무조건 실제 위치에 표시.**
## 문제
검색이 찾은 162080 자리에 대전조차장 마커가 없음.
원인: `placeUnreachedTerminal` 이 endGapPx>0 일 때 **최우측 역사 마커를 트랙 끝(TRACK_END)** 으로
이동('미도착' 표시) → 드론이 종점 야드에서 162080을 여러 번 지나는데 마지막 통과 마커가 끝으로
옮겨져 검색 위치(실제 162080)와 어긋남.
## 수정 ([StationBar.tsx](../../client/src/stationbar/StationBar.tsx))
`placeUnreachedTerminal`**no-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 서빙.