본문 바로가기

데이터분석 및 프로젝트

Folium 지도에 heatmap을 이용하여 빈도수를 표현해보자 :)

 

 

 

 

 

파이썬 Folium지도에 heatmap을 이용하여 빈도수를 표현해봅시다 :)

 

예전에 프로젝트을 진행할 때 지도에 사고 빈도를 어떤 것으로 표시하는 것이 좋을까에 대한 고민을 했던 적이 있습니다. 당시 이것저것 시도해봤었는데 저는 히트맵으로 표시하는 것이 제일 보기 좋았습니다.ㅎㅎ 당시에는 여기저기 찾아보면서 코드를 구성했던 기억이 있는데 제가 썼던 제이슨 파일은 첨부할 수 없지만 참고용으로 봐주시면 감사하겠습니다:)

In [14]:
import json
import folium
from folium.plugins import HeatMap
In [9]:
json_data=open('제이슨파일.geojson', encoding='utf-8').read()
data = json.loads(json_data)
In [10]:
json=[]
for i in range(len(data['features'])):
    json.append(data['features'][i]['geometry']['coordinates'])
In [11]:
jsonlat=[]
jsonlng=[]
for i in range(len(json)):
    jsonlat.append(json[i][0])
    jsonlng.append(json[i][1])
In [23]:
def allroute():
    m = folium.Map(location=(37.5776087830657, 126.976896737645), zoom_start=14)
    
    heatMap = HeatMap(zip(jsonlng, jsonlat),
                   min_opacity=0.1,
                   max_val=5,
                   radius=10, blur=15,
                   max_zoom=5,color='red')

    m.add_child(heatMap)
    
    return m
In [24]:

 

allroute()