[Python라이브러리 +] Folium

MINJEE·2023년 9월 4일
post-thumbnail

FOILUM

: 지도 시각화 라이브러리
! pip install folium
import folium

# 1. 지도 생성하기
m = folium.Map( location=[위도,경도], zoom_start=확대정도 )

# 2. 미니맵 추가하기
from folium.plugins import MiniMap
Minimap().add_to(m)

# 3. 클러스터하기 (위치 가까운 것끼리 그룹으로 묶기)
from folium.plugins import MarkerCluster
marker_cluster = MarkerCluster().add_to(m)

# 4. 마커/원 추가하기
folium.Marker( [위도,경도], 
		tooltip = ‘마우스를 위치에 두면 나타나는 내용’, 
        popup = ‘마우스로 클릭하면 나타나는 내용’ ).add_to(marker_cluster)  # 마커 추가하기
folium.CircleMarker( [위도,경도], radius=원크기).add_to(marker_cluster) # 원 추가하기
    
  • 클러스터한 경우, add_to(marker_cluster)로 입력
  • 클러스터(3번) 안한 경우, add_to(m)로 입력
  • 클러스터하든 안하든, 마커/원 추가한 후, 지도를 볼 때는 m으로 입력해야함

사용 예시

# 서울 지진대피소 현황지도 만들기

# 데이터 불러오기
import pandas as pd
file = './data/서울시지진대피소.csv'
data = pd.read_csv(file, encoding = 'cp949')

# 지도 만들기 (중심위치 : ['37.5536067', '126.9674308'])
import folium
from folium.plugins import MiniMap, MarkerCluster
m = folium.Map(location = [37.5536067, 126.9674308], zoom_start = 12)
## 미니맵 추가
MiniMap().add_to(m)
## 마커를 그룹화
marker_cluster = MarkerCluster().add_to(m) 
## 대피소 마커추가
for i in range(len(f)):
    lat = f.loc[i, '위도']
    long = f.loc[i, '경도']
    name = f.loc[i, '수용시설명']
		folium.Marker([lat,long], tooltip=name).add_to(marker_cluster)

# 지도 저장하기
m.save('./data/Sheltermap2.html')
profile
개발, 분석 배운 내용 정리하기!

0개의 댓글