Folium에서 Google Map 사용 방법

Folium에서 Google Map 사용 방법

Data Visualization
Folium에서 Google Map 사용 방법
Author

gabriel yang

Published

August 18, 2024

Folium에서 Google Map 사용 방법

Folium은 Python을 사용하여 대화형 지도를 생성할 수 있는 라이브러리로, 특히 Leaflet.js를 기반으로 하여 OpenStreetMap을 기본으로 사용합니다. 하지만 때로는 Google Map과 같은 다른 타일 소스를 사용하고 싶을 때가 있습니다. 이번 글에서는 Folium에서 Google Map 타일을 사용하는 방법에 대해 단계별로 설명하겠습니다.

1. Folium 설치하기

우선 Folium을 설치해야 합니다. Folium은 pip를 통해 간단히 설치할 수 있습니다.

pip install folium

설치가 완료되면 Python 스크립트나 Jupyter Notebook에서 Folium을 사용할 수 있습니다.

2. 기본 Folium 지도 생성하기

Folium에서 지도를 생성하는 기본 방법은 다음과 같습니다. 아래 코드는 OpenStreetMap을 기본 타일로 사용하여 지도를 생성합니다.

import folium

# 지도의 중심 좌표 설정 (위도, 경도)
center = [37.5665, 126.9780]  # 서울의 좌표

# 지도 객체 생성
m = folium.Map(location=center, zoom_start=13)

# 지도 출력 (Jupyter Notebook 사용 시)
m
Make this Notebook Trusted to load map: File -> Trust Notebook

이렇게 하면 기본적으로 OpenStreetMap을 기반으로 한 지도가 생성됩니다. 이제 Google Map을 사용하기 위해 타일을 변경해 보겠습니다.

3. Google Map 타일 추가하기

Google Map 타일을 Folium에 추가하기 위해서는 Google Map 타일 서버의 URL이 필요합니다.

# Google Maps 타일 추가
google_map_tiles = f"http://mt0.google.com/vt/lyrs=m&x={{x}}&y={{y}}&z={{z}}"

# 지도 객체 생성 (기존 Folium 지도에 Google Maps 타일 추가)
m = folium.Map(location=center, zoom_start=13, tiles=None)

# Google Maps 타일 레이어 추가
folium.TileLayer(
    tiles=google_map_tiles,
    attr='Google',
    name='Google Maps',
    overlay=False,
    control=True
).add_to(m)

# 지도 출력 (Jupyter Notebook 사용 시)
m
Make this Notebook Trusted to load map: File -> Trust Notebook

4. 다양한 Google Map 스타일 사용하기

Google Map에는 여러 가지 스타일이 있습니다. lyrs 매개변수를 변경하여 서로 다른 스타일의 지도를 사용할 수 있습니다.

  • m: 기본 지도 (Map)
  • s: 위성 지도 (Satellite)
  • y: 하이브리드 지도 (Hybrid)
  • t: 지형도 (Terrain)

아래는 하이브리드 지도를 사용하는 예제입니다.

# 하이브리드 지도 타일 추가
google_hybrid_tiles = f"http://mt0.google.com/vt/lyrs=y&x={{x}}&y={{y}}&z={{z}}"

# 지도 객체 생성
m = folium.Map(location=center, zoom_start=13, tiles=None)

# 하이브리드 타일 레이어 추가
folium.TileLayer(
    tiles=google_hybrid_tiles,
    attr='Google',
    name='Google Hybrid',
    overlay=False,
    control=True
).add_to(m)

# 지도 출력
m
Make this Notebook Trusted to load map: File -> Trust Notebook

5. 지도에 마커 및 기타 요소 추가하기

Folium은 다양한 지도 요소를 추가할 수 있습니다. 예를 들어, 지도에 마커를 추가해 보겠습니다.

# 지도 객체 생성 (Google Maps 타일 사용)
m = folium.Map(location=center, zoom_start=13, tiles=None)
folium.TileLayer(
    tiles=google_map_tiles,
    attr='Google',
    name='Google Maps',
    overlay=False,
    control=True
).add_to(m)

# 마커 추가
folium.Marker([37.5665, 126.9780], popup="서울특별시청").add_to(m)

# 지도 출력
m
Make this Notebook Trusted to load map: File -> Trust Notebook

이제 Google Maps 타일을 사용하는 지도에 마커가 표시됩니다.

6. 결론

Folium을 사용하여 Google Map 타일을 적용하는 방법을 알아보았습니다. Folium은 기본적으로 OpenStreetMap을 사용하지만, Google Map과 같은 타일을 사용하여 더욱 다양한 스타일의 지도를 만들 수 있습니다. 이를 활용하여 원하는 대로 커스터마이즈된 대화형 지도를 제작해 보세요.

References