본문 바로가기
Developer/Python

Python 지도 라이브러리, Folium 사용법

by Doony 2020. 1. 4.

이번에 운영하고 있는 풀카 데이터 분석을 위해 지도 라이브러리인 Folium을 사용해봤습니다. 굉장히 가볍고, 간단한 로직으로 구현이 가능한데 기능은 탁월합니다! 만든 사람에게 아낌없는 박수를..

Folium 설치하기

터미널 창에서 아래와 같이 입력하여 설치합니다.
pip install folium


맵에 좌표 띄우기

제가 가진 데이터는 위도, 경도가 리스트 형태로 담긴 리스트입니다.
즉, 아래 코드에서 latlon의 데이터는 아래와 같습니다.

1
2
3
4
5
6
7
8
9
10
[[37.31355679999999, 127.08034150000003],
 [37.35959300000016, 127.105316],
 [37.388204699999996, 126.66208460000007],
 [37.19821445962207, 127.07333060688757],
 [37.3862876275833, 126.96253325015414],
 [37.31864776315991, 127.08885641049494],
 [37.56661020000001, 126.97838810000007],
.....
]
 
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
= folium.Map(
    location = [36.5053542127.7043419],
    zoom_start = 8,
    tiles = 'Cartodb Positron'
)
 
for i in range(len(latlon)):
    folium.Circle(
        location = latlon[i],
        radius = 50,
        color = '#000000',
        fill = 'crimson',
    ).add_to(m)
    
m.save('map.html')
cs

이 때 실행결과는 다음과 같습니다. latlon에 있는 좌표들이 검은 점, Circle로 표시된 것을 볼 수 있습니다. 색상이나 모양, 지도 타일 등은 공식 레퍼런스 사이트인 이곳에서 확인하실 수 있습니다. 위 코드에서 스트링값들만 바꿔주면 되니 정말 간단하죠?

히트맵 표현하기

히트맵이란, 일종의 밀도를 시각화해주는 맵으로 보시면 됩니다. 어느 지역에 좌표들이 밀집되어 있는지를 잘 표현해주는데요. 코드는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
from folium.plugins import HeatMap
 
m = folium.Map(
    location = [36.5053542, 127.7043419],
    zoom_start = 8,
    tiles = 'Cartodb Positron'
)
 
HeatMap(latlon).add_to(m)
m.save('map.html')
cs

결과는 다음과 같습니다.

지도 좌표를 사용하는 데이터를 다룰 때 용이할 것 같네요.

댓글