# 2026-07-09 스테이션바 원거리 구조물 마크 겹침 수정

**소요 시간**: 6분
**Context 사용량**: input 540k / output 3k tokens

## 문제 (스크린샷 제보)

스테이션바에 교량 마크 2개가 붙어 있고 라벨이 "귀어음천교"처럼 보임 — 실제로는
**"귀덕천교"와 "어음천교" 라벨이 같은 위치에 겹쳐** 찍힌 것. (귀어음천교라는 시설물은 없음)

## 원인

지장물 KML의 교량 3개 통과 시점(실데이터 계산):

| 교량 | 세그1 최근접 | 실제 통과 |
|------|------------|----------|
| 귀덕천교 | t=194.6s, 24m | 세그먼트 1 끝 (정상) |
| 금성천교 | t=197.1s(끝 클램프), **1358m** | 세그먼트 3 (t=510.8s, 3m) |
| 어음천교 | t=197.1s(끝 클램프), **1880m** | 세그먼트 3 (t=565.2s, 59m) |

`pxPassesTo`의 통과 인정 거리(TH)가 `max(100, 최근접거리×3)` — 근접 통과가 없는 구조물은
TH 가 수 km 로 늘어나 전체 비행이 "통과"로 인정 → 최근접 프레임(세그먼트 끝)에 마크 생성 →
세그1 끝에서 실제 통과하는 귀덕천교와 같은 px 에 3개 마크·라벨이 겹침.

## 수정 — client/src/stationbar/StationBar.tsx

- `pxPassesTo`에 근접 통과 상한 `PASS_MAX_M = 300` 추가: 이 영상(세그먼트)에서 300m 이내로
  접근하지 않은 구조물은 마크 생략. 해당 구조물은 실제 통과하는 세그먼트의 바에 정상 표시됨
  (세그먼트 전환 시 frames 교체 → 마크 재계산)

## 검증

- 실데이터 기준: 세그1 → 귀덕천교만(24m ✓), 금성·어음 제외(1358/1880m) ✓
  세그3 → 금성천교(3m)·어음천교(59m) 표시 ✓
- tsc+vite 빌드 통과, 54000 포트 새 번들(index-CFrrDGW7.js) 서빙

## 다음 단계 참고

- PASS_MAX_M(300m)은 역사처럼 노선 옆 구조물도 포함하도록 여유 있게 설정 — 도로/철도
  공통으로 문제없을 값. 특수 데이터셋에서 조정 필요 시 route.json 파라미터화 검토
