Reference: WGS84 위경도 좌표 기반 데이터 집계 및 시각화하기 (https://wooiljeong.github.io/python/count_by_wgs84/)
import folium
import pandas as pd
# https://www.data.go.kr/
df=pd.read_csv('대전광역시_서구_공공시설개방정보_20220112_1641974993943_6980.csv', encoding='utf-8')
df[['개방시설명','위도','경도']]
| 개방시설명 | 위도 | 경도 | |
|---|---|---|---|
| 0 | 서구국민체육센터 헬스장 | 36.303779 | 127.362888 | 
| 1 | 관저다목적체육관 | 36.292991 | 127.335205 | 
| 2 | 남선공원종합체육관 스쿼시장 | 36.346230 | 127.397991 | 
| 3 | 남선공원종합체육관 풋살경기장 | 36.346230 | 127.397991 | 
| 4 | 도솔다목적체육관(농구, 배드민턴) | 36.324614 | 127.367889 | 
| 5 | 도솔다목적체육관 헬스장 | 36.324614 | 127.367889 | 
| 6 | 도솔다목적체육관 탁구장 | 36.324614 | 127.367889 | 
| 7 | 서국국민체육센터 수영장 | 36.303779 | 127.362888 | 
| 8 | 오량실내테니스장 | 36.304731 | 127.379732 | 
| 9 | 은평공원테니스장 | 36.359469 | 127.363506 | 
| 10 | 관저테니스장 | 36.292785 | 127.333588 | 
| 11 | 관저체육공원운동장 축구장 | 36.292990 | 127.335204 | 
| 12 | 관저체육공원운동장 농구장 | 36.292990 | 127.335204 | 
| 13 | 관저체육공원운동장 족구장 | 36.292990 | 127.335204 | 
| 14 | 관저체육공원운동장 조깅트랙 | 36.292990 | 127.335204 | 
| 15 | 정림테니스장 | 36.303779 | 127.362888 | 
| 16 | 백운체육관 배드민턴장 | 36.336537 | 127.375247 | 
| 17 | 옥녀봉체육시설 축구장 | 36.331740 | 127.344829 | 
| 18 | 옥녀봉체육시설 X-game장 | 36.331740 | 127.344827 | 
| 19 | 옥녀봉체육시설 풋살경기장 | 36.331740 | 127.344827 | 
| 20 | 옥녀봉체육시설 인공암벽 | 36.331740 | 127.344827 | 
| 21 | 옥녀봉체육시설 배드민턴장 | 36.331740 | 127.344827 | 
| 22 | 도마실국민체육센터 수영장 | 36.312422 | 127.385212 | 
| 23 | 도마실국민체육센터(배드민턴, 탁구) | 36.312422 | 127.385212 | 
| 24 | 남선공원종합체육관 빙상장 | 36.346230 | 127.397991 | 
| 25 | 남선공원종합체육관 헬스장 | 36.346230 | 127.397991 | 
| 26 | 남선공원종합체육관 수영장 | 36.346230 | 127.397991 | 
| 27 | 남선공원종합체육관 골프연습장 | 36.346230 | 127.397991 | 
m = folium.Map(location=[df['위도'].mean(), df['경도'].mean()], zoom_start=13)
# 지도 설정; location: 중앙점(위도/경도), zoom_start: 시작 축적
# Layer of Markers
for idx, row in df.iterrows():
    lat_ = row['위도']
    lon_ = row['경도']
    folium.Marker(location=[lat_, lon_],
                  tooltip=row['개방시설명']).add_to(m)
# Layer of Circle Range of City Hall
location=[36.350554, 127.385092] # 대전 시청 위경도
folium.Marker(location=location,
                  tooltip='대전 시청').add_to(m)
folium.Circle(radius=1500, # meters
              location=location,
              color="#ff7800",
              fill_color='#ffff00',
              fill_opacity=0.2).add_to(m)
m # display map