GIS

GPX 데이터 엑셀에서 열어보기

유병혁 2013. 11. 19. 06:37

요즘 스마트폰에서 트래킹 기능이 제공되는 다양한 앱들이 있는데요,

이번 글에서는 RunKeeper 앱에서 저장된 GPX 데이터를 엑셀에서 열어보도록 하겠습니다.

QGIS나 ArcGIS에서 GPS 도구를 이용할 수도 있지만, 데이터 양에 따라 엑셀이 보다 간편할 수도 있습니다.

 

먼저, 해당 GPX 데이터를 열어보도록 하겠습니다. 엑셀 프로그램을 실행하고 파일 > 열기를 클릭하고,

 

파일 형식을 '모든 파일'로 변경합니다.

 

열어보고자 하는 gpx 파일을 선택하고 '열기' 버튼을 클릭합니다.

 

아래와 같이 메시지가 뜨면 '예'를 클릭합니다.

 

GPX 데이터는 XML 파일이기 때문에 아래와 같이 'XML 열기' 창이 실행됩니다.

XML 표로 선택하고 확인을 클릭합니다.

 

'예'를 클릭하고,

 

'확인'을 클릭하면,

 

아래와 같이 RunKeeper를 통해 트래킹한 데이터가 열렸습니다.

 

여기서 위도(lat52), 경도(lon53), 고도(ns1:ele54), 날짜시간(ns1:time55) 필드 값을 새 시트로 복사해 보겠습니다.

 

아래 그림과 같이 새 시트로 복사하고, 기존 필드명을 아래와 같이 변경하였습니다.

이번에는 간단한 계산을 위해 날짜(DATE), 시분초(HMS), 초0(S0), 초1(S1) 4개 필드를 작성해 보겠습니다.

더블클릭을 하시면 이미지를 수정할 수 있습니다

 

먼저, 아래 DATETIME 필드 값을 살펴보면,

2013-09-19T13:32:25Z 와 같은 구조로 되어 있습니다.

문자열의 시작지점부터 10자는 날짜(DATE) 필드로 구성되어 있습니다.

문자열의 12번째 위치부터 8자는 시분초(HH:MM:SS, HMS)로 구성되어 있습니다.

그리고 이러한 시분초는 '시 * 3,600 + 분 * 60 + 초' 계산을 통해 초 단위(S0)로 변환할 수 있습니다.

첫 번째 지점에서 내가 머무른 시간은 '두 번째 지점 시간 - 첫 번째 지점 시간'을 통해 계산될 수 있습니다.

 

이것을 엑셀 수식으로 정리하면 아래와 같습니다.

DATE = LEFT(D2,10)

HMS = MID(D2,12,8)

S0 = LEFT(F2,2) * 3600+ MID(F2,4,2) * 60 + RIGHT(F2,2)

S1 = G3-G2

 

이렇게 수식을 적용한 계산 결과는 아래와 같습니다.

 

이 때 데이터의 마지막 지점은 -값이 반환(212번 -52979)되기 때문에 이 값을 0으로 변경해 주도록 합니다.

 

이제 변경된 파일을 저장하도록 하겠습니다.

파일 형식은 CSV (쉼표로 분리)로 선택하도록 하겠습니다.

 

데이터 명의 혼동을 줄이기 위해 GPX 데이터와 같은 명칭으로 저장해 보겠습니다.

 

'확인'을 클릭하고,

 

'예'를 클릭합니다.

 

다음 글에서는 이 CSV 파일을 QGIS에서 쉐이프파일로 변환해서 분석해 보도록 하겠습니다.