DLT Log Viewer
차량 단말에서 수집된 DLT 바이너리 로그를 브라우저에서 파싱하고, GPS 궤적·경로 요청·음성 안내를 지도에 시각화하는 도구입니다.
개요
DLT Log Viewer는 다음 정보를 DLT 로그에서 자동으로 추출합니다.
- 위치 데이터 — GPS 원시값, DR_GPS 추측항법, MM GPS Pos, MM Match Pos
- 경로 요청 — TVAS 요청 파라미터(출발지/경유지/목적지), 경로 결과
- 음성 안내 — TTS 메시지, 발생 위치
추출된 데이터는 Leaflet 기반 지도 위에 색상별 레이어로 표시되며, SHP(Shapefile) 링크/노드와 함께 오버레이해 비교 분석할 수 있습니다.
시스템 요구사항
| 브라우저 | Chrome 또는 Edge (Chromium 기반) 최신 버전 |
|---|---|
| 이유 | 폴더 단위 드래그앤드롭에 필요한 File System Access API, webkitdirectory를 사용합니다. Safari/Firefox는 미지원. |
| 확장 프로그램 | 경로 요청 기능 사용 시 CORS Unblock 확장 프로그램이 필요합니다. |
| 디스크 | 파일 크기 제한 없음. 수백 MB DLT도 처리 가능 (Web Worker 파싱). |
빠른 시작
- DLT Log Viewer 페이지를 엽니다.
- 왼쪽 하단의 DLT GPS Log 패널에서 폴더 선택 버튼을 누르고,
.dlt파일이 있는 폴더를 선택합니다. (하위 디렉토리 자동 탐색) - 파싱이 끝나면 지도에 GPS·MM 포인트가 표시되고, 우측 통계 카드에 개수가 집계됩니다.
- 좌측 레이어 토글에서 표시할 데이터를 켜고/끄면서 관찰합니다.
- 필요에 따라 SHP 링크/노드, 경로 요청, 줄자, 좌표 검색 기능을 추가로 사용합니다.
DLT 폴더 로드
파일 선택 방법
- 버튼: 좌측 패널의 폴더 선택 버튼을 누르면 시스템 폴더 선택 창이 뜹니다.
- 드래그 앤 드롭: 드롭존에 폴더를 직접 끌어 놓아도 됩니다.
파싱 진행 상황
선택한 폴더의 하위 디렉토리까지 재귀적으로 .dlt 파일을 탐색합니다. 진행률 바에 현재 처리 중 파일명과 퍼센트가 표시됩니다.
통계
파싱 완료 시 다음 지표를 집계해 카드로 보여줍니다.
- 총 위치 포인트 / GPS / DR_GPS / MM GPS Pos / MM Match Pos 개수
- 경로 요청 건수, 음성 안내 건수
- 로그 시간 범위 (시작 ~ 종료)
YYYY/MM/DD HH:MM:SS.mmm 월별시계 또는 시작 기준 모노토닉 타임스탬프로 들어옵니다. Viewer는 두 포맷 모두 자동 인식합니다.
지도 레이어
좌측 레이어 토글 패널의 체크박스로 각 데이터 레이어를 독립적으로 켜고 끌 수 있습니다.
마커 팝업
각 포인트를 클릭하면 다음 정보가 팝업에 표시됩니다.
- 타임스탬프, 원본 SK 좌표 (X, Y), 변환 WGS84 좌표 (lat, lon)
- 속도, 방향, 해당 로그 라인
- 경로 요청의 경우 TVAS 파싱 결과 (경로요약, 차로안내, 위험지역, 톨게이트 등)
SHP 링크/노드
링크/노드 레이어 패널에서 SHP 폴더 선택을 누르고 .shp / .dbf / .prj / .shx 가 같이 든 폴더를 지정합니다.
- 좌표계: GCS_Tokyo(Bessel)로 저장된 SHP은 자동으로 WGS84로 변환합니다.
- 렌더링: Web Worker가 별도 스레드에서 도형을 파싱해 메인 UI를 막지 않습니다.
- 링크 선택 모드: 링크 선택 모드 ON을 누르고 링크를 클릭하면 DBF 속성(길이·차선수·속도제한 등)을 읽어 옆에 띄웁니다.
좌표 검색
임의의 좌표를 입력해 지도에 핀을 꽂을 수 있습니다.
입력 타입
- SK 좌표 — TMAP 내부 좌표계. 예: X=
4571910, Y=1347000 - WGS84 — 일반 경위도. 예: X(경도)=
127.0276, Y(위도)=37.4979
DLT 로그 마커 팝업에 표시된 좌표를 그대로 복사해 붙여넣어 위치를 재확인할 때 편리합니다.
줄자 (거리 측정)
- 줄자 모드 OFF 버튼을 눌러 ON으로 전환합니다.
- 지도에 시작점·다음 점을 순차 클릭하면 선분이 이어지고 누적 거리가 표시됩니다.
- 지우기로 측정선을 초기화합니다.
단위는 m / km 자동 전환이며, 하버사인 공식(지구구체 근사)으로 계산합니다.
경로 요청 (TVAS)
임의의 출발·경유·목적지로 TVAS 경로 서버에 직접 요청을 보내 응답을 파싱·시각화하는 기능입니다.
경로 서버(
ntmapstg.tmap.co.kr)는 브라우저의 교차 출처(CORS) 요청을 허용하지 않습니다.
CORS Unblock 확장 프로그램을 설치하고 ON 상태로 켜야 요청이 서버에 도달합니다. 끄면 브라우저가 즉시 차단합니다.
요청 흐름
- 우측 경로 요청 탭(또는 좌측 사이드바 버튼)을 엽니다.
- 지도에 우클릭해 출발지 / 경유지 / 목적지를 설정합니다. 설정된 지점은 패널 상단 출발지/목적지 바에 표시되고, 요청 body의 좌표 필드에 자동 반영됩니다.
- URL · Headers · Body(JSON) 을 필요에 따라 수정합니다. 정렬 버튼으로 JSON body를 깔끔하게 정리할 수 있습니다.
- 요청 전송을 누르면 응답이 바이너리로 오고, Viewer가 TVAS 스펙에 따라 파싱해서 지도에 그립니다.
- 필요하면 응답 저장으로 원본 바이너리를
.bin으로 내려받아 오프라인 분석에 씁니다.
결과 레이어
경로 응답 파싱 후 다음 레이어가 생성됩니다. 위쪽 토글로 켜고 끌 수 있습니다.
- 경로 — 도로 종별 색상의 폴리라인
- 안내점 — 회전·연속회전·분기 아이콘
- 위험지역 — 속도카메라·구간단속·스쿨존 등
- 톨게이트 / 휴게소
- 차로 — 차로별 권장(초록)·유효(파랑)·비유효(빨강) 화살표 아이콘
- 충전소 — EV 경로의 경유 충전소
지도 우클릭 메뉴
지도 위 빈 공간을 우클릭하면 위치 기반 컨텍스트 메뉴가 뜹니다.
- 선택한 위치의 WGS84/SK 좌표가 경로 요청 body에 자동 삽입됩니다.
- 기존 지점을 다른 위치에 지정하면 덮어씁니다.
자주 묻는 질문
Q. 폴더 선택 버튼이 비활성화되어 있거나 동작하지 않아요.
Chrome 또는 Edge에서만 동작합니다. Safari/Firefox는 폴더 단위 선택을 지원하지 않아 해당 경고가 표시됩니다.
Q. 요청 전송 시 "CORS 차단" 모달이 뜹니다.
CORS Unblock 확장 프로그램을 설치/활성화하지 않았거나, 서버 응답이 아닌 네트워크 레벨에서 차단된 경우입니다. 확장 프로그램의 방패 아이콘이 녹색(ON)인지 확인하세요.
Q. DLT는 로드되는데 마커가 안 보여요.
레이어 토글이 OFF이거나, 현재 지도 뷰가 로그 위치와 많이 벗어난 경우입니다. 지도 하단 상태바의 점 개수가 0이 아니면 데이터는 있습니다. 지도 오른쪽 위 "홈" 버튼으로 전체 데이터가 보이게 축척을 맞추세요.
Q. SHP 링크가 엉뚱한 위치에 표시돼요.
좌표계 메타(.prj)가 누락됐을 가능성이 있습니다. Viewer는 GCS_Tokyo만 자동 변환합니다. 다른 좌표계의 SHP은 QGIS 등으로 미리 WGS84로 변환해 주세요.
Q. 어떤 브라우저 키가 유용한가요?
Ctrl+Shift+R 하드 리로드로 모듈 캐시 무효화 · F12 → Network 탭에서 TVAS 요청/응답 확인 가능