본문 바로가기
Python/Data Visualization

[folium 라이브러리] 위도 경도 정보를 활용한 지도 그리기

by ISLA! 2023. 8. 24.

folium

 

  • 포리움(folium) 라이브러리는 leaflet.js(자바스크립트 라이브러리) 기반으로 만들어진 Python 지도 시각화 라이브러리이다
  • 포리움 라이브러리의 Map() 함수를 이용하면 간단하게 지도 객체를 만들 수 있다

 

함수 구성

 

  • location : 지도의 중심 [위도, 경도] 좌표
  • zoom_start : 처음 지도의 확대 비율 조절 (최대 18)
  • width, height : 너비, 높이
# 기본 좌표 설정
m = folium.Map(location=[위도, 경도],
               zoom_start=17, 
               width=750, 
               height=500)

 

지도 위, 동그라미 표시

 

 

  • location: 동그라미를 표시할 위도/경도 좌표
  • radius : 동그라미 크기
  • tooltip: 표기할 툴팁 지정 (마우스 오버 시 표기되는 문구)
  • fill : 동그라미 안을 채울지 여부
  • add_to() 메서드 : 기존에 생성된 지도 m에 표시하려는 동그라미를 추가
# 위치에 동그라미 표시
folium.Circle(location=location,
              radius=50,
              tooltip=train['next_station'].loc[i],
              fill=True
        ).add_to(m)

 

선 그리기

 

 

  • PolyLine() 함수를 사용하면 경로를 선으로 표시할 수 있다
  • locations : 경로를 그릴 좌표를 2차원 배열(array) 형태로 입력
folium.PolyLine(locations=locations).add_to(m)

 

종합 코드 예시와 결과

import folium
​
# 좌표 정보
locations = train[['next_latitude', 'next_longitude']][:5].values.tolist()
​
# 지도의 중심 좌표 설정
center = [33.48, 126.53]
​
# 지도 (Map) 그리기
m = folium.Map(location=center, zoom_start=13, tiles='cartodbpositron',)
​
# 점(Circle) 찍기
for i, location in enumerate(locations):
    folium.Circle(
        radius=50,
        location=location,
        tooltip=train['next_station'].loc[i],
        fill=True
    ).add_to(m)
​
# 경로(PolyLIne) 추가
folium.PolyLine(locations=locations).add_to(m)
​
# 결과 출력
m

728x90