- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
KMZ source=KAKAO_RAIL(철도역) → 스테이션바 표출
날짜: 2026-06-24
수정 파일: client/src/utils/geoData.ts
관련: 2026-06-24_1603_KMZ직접로딩-CSV중복제거.md
요구
KMZ에서 POI를 가져올 때 source 타입이 KAKAO_RAIL(철도역)인 항목은 영상이 아니라
하단 스테이션바에 표시.
조치 (parseKmz)
02)지장물 폴더 Placemark 처리에서 source/category 로 분기:
const src = pget('source');
const cat = pget('category_clean') || '지장물';
if (src === 'KAKAO_RAIL' || cat === '철도역' || cat === '역사') {
// 역사 구조물로 → 스테이션바(Timeline 원형 마커). 영상 미표시.
structures.push({ id:`역사-…`, type:'station', category:'역사', name, lat, lon, props });
} else {
pois.push({ ... category: cat ... }); // 일반 POI(영상)
}
RouteStructure{type:'station', category:'역사'}는 StationBar 가 이미 처리(cats=['교량','터널','역사']).- 위치 배치: 역사는
station값 없이 lat/lon → 드론 최근접 통과 px(pxPassesTo)로 배치(기존 역사와 동일). - pois 에서 빠지므로 영상엔 안 뜨고(StationOverlay 가 역사 미표출), 스테이션바에만 표출.
참고
- 현재 샘플 KMZ(
하행_회덕-대전조차장.kmz)는 source 가 VWORLD_ROAD/KAKAO_POI 뿐이라 KAKAO_RAIL 없음 → 이 데이터엔 변화 없음. 철도역이 포함된 데이터(이전/타 구간 KMZ에 회덕화물역=KAKAO_RAIL 존재)에서 적용됨. - category_clean='철도역'/'역사' 도 함께 역사로 라우팅(태깅 방식 무관하게 철도역 포착).
검증
npm run build -w client(node20) tsc + vite build 통과.
소요 시간: 약 12분 Context 사용량: input ~770k / output ~5k tokens