안녕하세요? 이번 글은 GitHub에서 csv 파일을 읽어와 Folium로 매핑하는 과정을 정리해 보겠습니다. 이전 글은 아래 링크를 참고하시기 바랍니다.
실습용 csv 파일은 아래와 같습니다. 해당 파일을 data 폴더에 위치시킨 후, GitHub에 data 폴더를 업로드 합니다. 업로드한 결과는 아래와 같습니다. 'Raw' 버튼을 클릭하면 csv 파일의 url을 확인하실 수 있습니다.
자, 그럼 해당 파일을 읽어와 볼까요?! 일단 folium과 pandas 모듈을 불러옵니다.
import folium
import pandas as pd
csv 파일의 url을 통해 데이터프레임을 열어봅니다.
url = (
"https://raw.githubusercontent.com/osgeokr/bangtantour/main/data"
)
df = pd.read_csv(f'{url}/bangtantour_list.csv', encoding='utf-8')
df.head()
자, 이제 Folium으로 지도를 만들어볼까요?!
# 타일 유형
m = folium.Map(location=[37.53319398622274, 126.96437069887519], zoom_start=12, tiles="CartoDB positron")
m
csv 파일을 이용해 마커를 추가해 봅니다. 간단하죠?!
# 마커
for index, row in df.iterrows():
folium.Marker(
location=[row['LAT'], row['LON']],
popup=row['NAME'],
icon=folium.Icon(color="purple", icon="info-sign"),
).add_to(m)
m
사용자 위치 확인 아이콘을 추가한 후, 현재까지 작업을 html 파일로 저장합니다.
# 사용자 위치 확인
from folium import plugins
plugins.LocateControl().add_to(m)
import os
os.chdir('D:\\GEODATA')
m.save("index.html") # 파일로 저장
결과는 아래와 같습니다. 여기까지 GitHub에서 csv 파일을 읽어와 Folium로 매핑하는 과정을 정리해 봤습니다. 다음 글은 마커의 popup을 정리해 보겠습니다.