Python/Data Visualization
[folium 라이브러리] 위도 경도 정보를 활용한 지도 그리기
ISLA!
2023. 8. 24. 16:40
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