예전에 제주도 여행 지도 구현을 학습하다 한글 엔코딩 문제로 미완성인 상태로 넘어간 적이 있다. 이번 조윤선 장관 맛집 지도가 화제가 되면서 예전에 못다한 코드를 완성해 보고자 한다.
우선 제주도 음식점 맛집 List를 txt화일로 생성한다. 이 때 유의점은 저장시 한글이므로 반드시 엔코딩을 UTF-8로해야 한다.
제주 국제공항
제주 돔베돈
제주 공룡랜드
제주 협재해수욕장
제주 한림공원
제주 유리의성
제주 오설록티뮤지엄
제주 테디베어뮤지엄
제주 오성식당
제주 중문관광단지
제주 서귀포KAL호텔
제주 주상절리
제주 성산일출봉
제주 우도
제주 러브랜드
제주 잠수함
제주 용두암
제주 섭지코지
제주 산방산
제주 신비의도로
제주 외돌개
제주 에코랜드
찾고자 하는 지명이 맞는지 최종 확인하기 위해서는 google.co.kr/maps에서 검색 후 지명 표시에서 오른쪽 클릭하여 이곳이 궁금한가요?(What's hear?)를 확인하면 지명의 위도와 경도를 확인 할 수 있다.
google map에서 인식가능한 형태(이름, 위도:경도 정보 필요)로 만들기 위해 아래와 같이 실행한다.
place<-readLines("제주여행코스utf8.txt",encoding="UTF-8")
lonlat<- geocode(place) #경도 위도 저장
place <- gsub("제주 ","",place) #제주 삭제
df_lst <- cbind(place,lonlat) # 여행지이름 경도 위도의 데이터프레임
latlon <- paste(df_lst$lat,":",df_lst$lon) #위도 경도로 재배치
latlon <- gsub(" ","",latlon) #빈칸 삭제
placelst <- cbind(df_lst, latlon)
이렇게 하면 결과 placelst의 결과는 다음과 같아 진다.
place lon lat latlon
1 <U+FEFF>국제공항 126.4914 33.51041 33.5104135:126.4913534
2 돔베돈 126.5267 33.51554 33.5155418:126.5266871
3 공룡랜드 126.4328 33.44248 33.4424844:126.4327541
4 협재해수욕장 126.2397 33.39413 33.3941325:126.239728
5 한림공원 126.2393 33.38952 33.389522:126.2392559
6 유리의성 126.2737 33.31461 33.3146079:126.273664
7 오설록티뮤지엄 126.2894 33.30589 33.305894:126.28942
8 테디베어뮤지엄 126.4122 33.25035 33.2503549:126.4121722
9 오성식당 126.4146 33.25546 33.255457:126.4145759
10 중문관광단지 126.4124 33.24865 33.2486522:126.4124374
11 서귀포KAL호텔 126.5192 33.25469 33.2546926:126.5192172
12 주상절리 126.4251 33.23775 33.2377549:126.4250671
13 성산일출봉 126.9425 33.45806 33.458056:126.9425
14 우도 126.9540 33.50430 33.5042977:126.954048
15 러브랜드 126.4900 33.45164 33.451638:126.49
16 잠수함 126.9322 33.47227 33.472273:126.932162
17 용두암 126.5119 33.51615 33.5161459:126.5118814
18 섭지코지 126.9293 33.42354 33.4235416:126.9293266
19 산방산 126.3134 33.24107 33.2410682:126.3134467
20 신비의도로 126.4878 33.45116 33.4511631:126.4878066
21 외돌개 126.5446 33.23907 33.239072:126.544592
22 에코랜드 126.6670 33.45652 33.4565209:126.6670479
상기 식에서 place열과 latlon열을 이용해 최종적으로 gvisMap 함수를 이용해 아래와 같이 지도에 표시하게 된다.
Script 화일: