DevLog

파이썬으로 서울시 따릉이 지도 만들기 (+α) - folium 마커 클러스터 MarkerCluster, 미니맵 MiniMap 추가하기 본문

프로그래밍 언어/Python

파이썬으로 서울시 따릉이 지도 만들기 (+α) - folium 마커 클러스터 MarkerCluster, 미니맵 MiniMap 추가하기

김만콩 2023. 9. 1. 17:14
서울시 공공자전거 실시간 대여 정보를 확인할 수 있는 "따릉이 지도" 만들기
- 목적 : 파이썬 활용 데이터 분석 & 시각화 실습 미니 프로젝트
- 개발 환경 : Jupyter Notebook
- 사용 언어 : Python3 (pandas, folium)

 

클러스터 맵

가까운 위치에 너무 많은 마커들이 있다보면 지저분하고 복잡해보이기 마련!

그렇기에 근처의 마커들을 하나의 클러스터(그룹)로 묶어서 깔끔하게 지도에 표시하는 것이 좋다.

 

folium 플러그인 중 `MarkerCluster` 기능을 지도에 적용해보자.

from folium.plugins import MarkerCluster

# 지도 생성하기
map = folium.Map(location = [37.5536067, 126.9674308], zoom_start = 12)

# 마커 클러스터 기능을 지도에 적용하기
cluster_map = MarkerCluster().add_to(map)

# 지도에 마커 추가하기
for i in range(len(data)):
    (...)

    icon = folium.Icon(color = color, icon = 'info-sign')
    folium.Marker([lat, long], tooltip = f'{name}: {bike}', icon = icon, popup = name).add_to(cluster_map)

먼저 `MarkerCluster`를 import 해준 후에 미리 만들어 둔 map에 적용한다.

 

그 후 이전 코드와 똑같이 마커를 생성하고 추가해주면 되는데,

이때 생성한 마커는 기본 `map`이 아닌 클러스터 기능이 적용된 `cluster_map`에 추가해야 한다!

 

 

미니 맵 추가하기

`MiniMap` 플러그인을 활용하여 간단하게 지도에 미니맵을 추가할 수 있다.

(...)

# 라이브러리 플러그인 불러오기
from folium.plugins import MiniMap

# 지도에 미니 맵 생성, 추가하기
minimap = MiniMap()
minimap.add_to(map)

folium 지도를 파일로 저장하기 (HTML)

# html 웹페이지로 저장

m.save('./bicycle_clustermap.html')

html 파일로 저장해주면 최종 완성!

 

 

bicycle_clustermap.html
2.58MB