조금씩 꾸준히 완성을 향해

[Folium] 지도 만들기, Marker 표시하기 본문

Python/데이터 시각화

[Folium] 지도 만들기, Marker 표시하기

all_sound 2022. 10. 2. 10:02

Folium 설치 및 임포트


▶ 아나콘다 프롬프트

conda install -c conda-forge folium

 

 

 주피터 노트북 / 명령 프롬프트(느낌표 빼기)

!pip install folium

 

 라이브러리 가져오기

import pandas as pd
import folium

 

 

지도 그리기 


  • 위도, 경도로 지도 가져와서 저장하기
gasan_map = folium.Map(location=[37.4686, 126.8866], zoom_start=17)
gasan_map

 

  • 지도 타입 확인
type(gasan_map)  #folium.folium.Map

 

  • 지도 저장
gasan_map.save('./gasan.html') #저장 파일 위치 지정
ls  # 저장 확인
#drive/  gasan.html  sample_data/

 

 

지도 스타일 적용하기


  • map() 함수에 tiles옵션을 적용하며 지도에 적용하는 스타일을 변경하여 지정가능
  • Stamen Terrain 맵과 Stamen Toner 맵 스타일 비교
gasan_map2 = folium.Map(location=[37.4686, 126.8866], tiles = 'Stamen Terrain',zoom_start=17)
gasan_map3 = folium.Map(location=[37.4686, 126.8866], tiles = 'Stamen Toner',zoom_start=17)
gasan_map2

gasan_map3

 

 

지도에 마커 표시하기


# 대학교 리스트를 데이터프레임 변환
df = pd.read_excel('/content/drive/MyDrive/ Encore Prac/서울지역 대학교 위치.xlsx')
df.haed(5) # 상위 5개 행 확인

 

# 서울지도 만들기
seoul_map = folium.Map(location=[37.55, 126.98], tiles='Stamen Terrain', zoom_start=12)
# 대학교 위치정보를 Marker로 표시
for name, lat, lng in zip(df.iloc[:, 0], df.위도, df.경도):
  folium.Marker([lat,lng], popup=name).add_to(seoul_map)
# 지도를 html 파일로 저장하기
seoul_map.save('./seoul_colleges.html')

 

  • 지도에 원형 마커 표시
    • CircleMarker() : 원형 마커의 크기, 색상, 투명도 등 설정
#서울 지도 만들기
seoul_map = folium.Map(location=[37.55, 126.98], tiles='Stamen Terrain', zoom_start=12)
#대학교 위치정보를 CircleMarker로 표시
for name, lat, lng in zip(df.iloc[:,0], df.위도, df.경도):
  folium.CircleMarker([lat, lng], 
                      radius=10, #원의 반지름
                      color='brown', #원의 둘레 색상
                      fill=True, #원 채우기
                      fill_color='coral', #원을 채우는 색
                      fill_opacity=0.7, #투명도
                      popup=name
                      ).add_to(seoul_map)
# 지도를 html파일로 저장하기
seoul_map.save('./seoul_colleges2.html')