1 구글 일정 (.ical) → 지리정보

iCalendar.org를 통해서 일정관련된 자료형이 표준화 작업이 진행되었고, 구글 일정도 표준을 따르고 있는 것으로 보인다. 이를 바탕으로 구글 일정에 저장된 정보를 추출하여 지도 위에 시각화하는 앱을 개발해보자.

작업 흐름도

1.1 구글 일정 다운로드(.ical)

핸드폰에 저장된 구글 캘린더(Calendar) 일정을 PC로 로그인하여 우선 .ics 파일로 다운로드 받는다.

  1. 구글 달력 https://calendar.google.com/calendar 웹사이트로 접속한다.
  2. 우측상단 기어 아이콘을 클릭한 후 설정으로 들어간다.
  3. 좌측메뉴 가져오기/내보내기 를 클릭한다.
  4. 내보내기 버튼을 클릭하여 로컬 컴퓨터에 다운로드 받는다.
    • 계정명@gmail.com.ical.zip 파일 압축을 푼다.

1.2 CSV 작업흐름

1.2.1 일정 파일(.ical) → CSV

.ical 파일을 먼저 .csv 파일로 변경시켜야 엑셀에서 불러읽을 수가 있다. 이유는 엑셀에서 .ical 파일을 불러 읽을 수 있는 기능을 제공하고 있지 않기 때문이다. 이제, 엑셀에서 불러올 수 있는 형태 파일로 변경시킨다.

.ical 파일을 .csv 파일로 변경시키는 변환기는 GitHub과 구글링을 하게 되면 쉽게 찾을 수 있다. https://www.indigoblue.eu/ics2csv/ 웹사이트에서 .ics 파일을 .csv 파일로 변환시킨다.

1.2.2 CSV → 엑셀 1 2

한글판 엑셀의 기본 인코딩이 UTF-8이 아니라 바로 읽을 경우 깨져서 읽을 수가 없다.

한글 윈도우가 설치된 환경에서 utf-8으로 인코딩된 .csv 파일을 불러 읽어 오는 것도 나름 기본 지식이 필요하다. CSV 파일을 엑셀로 변환시키기 위해서는 UTF-8 인코딩된 것을 엑셀에서 읽을 수 있는 인코딩으로 맞춰 불러들여야 한다.

  1. 엑셀을 실행하고 빈 엑셀파일을 하나 생성시킨다.
  2. 상단 메뉴에서 데이타텍스트 를 선택합니다.
  3. 가져올 파일을 선택하고 확인을 클릭합니다.
  4. 콤보 박스에서 적절한 코드 타입이 선택됐는지 확인합니다.
    • UTF-8 의 코드 페이지 넘버는 65001 입니다.

1.3 ical 팩키지

ical 팩키지는 ical 웹사이트에서 iCalendar.org 표준을 따르는 ical 파일을 R로 불러와서 다양한 분석작업을 수행하는 것을 가능하게 한다.

2 구글 일정 장소 → 지도API

구글 일정에서 장소정보를 뽑았다면, 다음으로 카카오 API를 사용해서 위경도 정보를 추출한다. 이를 leaflet에 올려 놓게 되면 원하는 일정에 방문했던 장소를 표시할 수 있게 된다.

2.2 주소 문자열 → 위경도 DF

주소 문자열을 입력받아 위경도 데이터프레임을 반환시키는 함수를 작성한다. 다음카카오 지도 API에 위경도를 전달할 때 주소정보를 일부 정제하여 전달시켜야 한다. 이를 위해서 주소 정보를 정제한 loc 변수를 생성시키고 나서 다음카카오 API에 전달시켜 위경도를 받아내고 이를 깔끔하게 정제시킨다.

3 지리정보 시각화

다음으로 leafelt 팩키지를 동원해서 나름 인터랙티브 시각화를 한다.