GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# KMZ source=KAKAO_RAIL(철도역) → 스테이션바 표출
|
||||
|
||||
**날짜**: 2026-06-24
|
||||
**수정 파일**: `client/src/utils/geoData.ts`
|
||||
**관련**: [2026-06-24_1603_KMZ직접로딩-CSV중복제거.md](2026-06-24_1603_KMZ직접로딩-CSV중복제거.md)
|
||||
|
||||
## 요구
|
||||
KMZ에서 POI를 가져올 때 `source` 타입이 **KAKAO_RAIL**(철도역)인 항목은 영상이 아니라
|
||||
**하단 스테이션바**에 표시.
|
||||
|
||||
## 조치 (`parseKmz`)
|
||||
02)지장물 폴더 Placemark 처리에서 source/category 로 분기:
|
||||
```ts
|
||||
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
|
||||
Reference in New Issue
Block a user