주제: Folium 미니맵 표출하기
작성: 2023-10-24
구동 환경: OS: MacBook Pro 14″ / Python : 3.9.18 / Folium : 0.14.0
Python 지도 라이브러리, Folium은 다양한 방식으로 지도를 시각화하는데 도움을 주는 라이브러리입니다. 더불어 Folium plugins을 통해 그 기능을 확장할 수 있습니다. 예를 들어, 지도를 확대해서 데이터를 파악하다보면, "내가 선택한 이 지역이 어디지?" 하면서 다시 지도를 축소해본 경험이 있으실 겁니다. 사용자의 편의성을 배려하여 미니맵 배치를 통해 현재 확대한 위치가 어디인지 파악이 가능합니다.
기본 지도설정
우선 기본코드를 중심으로 기타 옵션들 하나씩 추가해보면서 속성을 다뤄보도록 하겠습니다.
지도는 Folium 라이브러리를 활용하도록 하겠습니다. 기본적인 지도표출은 다음과 같이 할 수 있습니다.
pip install folium # 설치 안되어있는 경우, 설치 필요
import folium
m = folium.Map(location=(36.429, 127.977), zoom_start=8)
m.save("./test.html")
미니맵 생성
folium.plugins에는 MarkerCluster, MiniMap, Heatmap 등 다양하게 구현가능한 코드를 제공합니다.
그럼 기존 코드에서 미니맵을 생성해보도록 하겠습니다.
import folium
from folium.plugins import MiniMap # 추가
m = folium.Map(location=(36.429, 127.977), zoom_start=8)
minimap = MiniMap() # 추가
minimap.add_to(m) # 추가
m.save("./test.html")
미니맵 속성
미니맵 속성파악해보도록 하겠습니다.
- toggle_display : 토글 표출 속성
- zoom_level_offset : 원래 지도 대비 축소수준 설정
import folium
from folium.plugins import MiniMap
m = folium.Map(location=(36.429, 127.977), zoom_start=8)
minimap = MiniMap(toggle_display=True, zoom_level_offset=-6)
minimap.add_to(m)
m.save("testmap.html")
전체코드
메인 지도처럼 미니맵의 경우에도 크기, 타일 모두 적용이 가능합니다.
- position : 미니맵 위치 설정(topleft, topright, bottomleft, bottomright)
- width, height : 미니맵 크기 조절
import folium
from folium.plugins import MiniMap
m = folium.Map(location=(36.429, 127.977), zoom_start=8)
minimap = MiniMap(toggle_display=True, tile_layer='Stamen Toner', position='bottomright',
width=200, height=200, zoom_level_offset=-6)
minimap.add_to(m)
m.save("testmap.html")
버전 확인
본인이 사용하고 있는 folium 버전이 궁금하신 분들은 아래와 같이 확인하시면 됩니다
import folium
print(folium.__version__)
Reference
- Folium plugins 예시 코드(1) : https://dailyheumsi.tistory.com/85
- Folium plugins 예시 코드(2) : https://github.com/python-visualization/folium
- Folium 히트맵 코드 : https://m.blog.naver.com/life4happy/222161099861
728x90
반응형
'Python > 4️⃣ 시각화' 카테고리의 다른 글
파이썬으로 쉽게 대시보드 만들기 [4] Streamlit 배포하기 (0) | 2024.01.10 |
---|---|
파이썬으로 쉽게 대시보드 만들기 [1] Streamlit 소개 및 설치하기 (0) | 2023.10.09 |
[Folium] 서울시 공원 위치 시각화(2/2) (0) | 2023.01.14 |
[GeoPandas] 서울시 공원 위치 시각화(1/2) (0) | 2023.01.13 |
[GeoPandas] Python으로 .shp 파일 읽기 (0) | 2023.01.13 |