MarkerClsuter+Geojson

2024. 11. 10. 23:07python study/sw와 ai 데이터 분석

2024.11.08 - [분류 전체 보기] - 전국 대학교 folium활용하여 표시하기

 

전국 대학교 folium활용하여 표시하기

데이터 가져오기https://www.data.go.kr/data/15138981/fileData.do (공공데이터 포털)에서 데이터를 가져온다.데이터에 경도 위도 값이 있지만 열을 제거하고 없다는 가정하에 데이터 실습을 진행해 보자.(구

ssjjss57.tistory.com

MakerCuster

  • 이전에 사용하였던 대학교 자료를 불러와서 Marker를 표시해 준다.
from folium.plugins import MarkerCluster

mc=MarkerCluster().add_to(Map)

for idx, row in data.iterrows():
  folium.Marker(location=[row['경도'],row['위도']],
                popup=folium.Popup(row['학교명'],max_width=200)).add_to(mc)
  • iterrows는 앞에서 말했다시피 row, 즉 열에 해당하는 데이터를 한 번에 튜플 형식으로 가져올 수 있는 좋은 도구이다.

2024.11.09 - [python study/sw와 ai 데이터 분석] - 지도 시각화 2

 

지도 시각화2

Geojson위치 정보를 기반으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식위치 정보는 경도, 위도, 고도 순으로 저장된다.확장자: *. geojson, *. json단계 구분도지역에 따라서 통계치의 차이

ssjjss57.tistory.com

Geojson&Choropleth

  • geo_data에는 geo_json을 첨가해 준다.
  • data에는 대학교 학생 수에 대한 데이터를 첨가해 주었다.
  • key_on에는 자치구에 해당하는 데이터를 불러와서 columns에서 활용하는 자치구별(2)에 해당하는 구를 활용할 수 있도록 하였다.
  • 나머지는 이전 블로그를 참고해도 좋을 것 같다.
import folium
import pandas as pd
from folium.plugins import MarkerCluster

Map = folium.Map(location=[37.4965, 126.9572],
                 zoom_start=11,
                 tiles='cartodbpositron')

folium.GeoJson(geo_json).add_to(Map)

mc=MarkerCluster().add_to(Map)

for idx, row in data.iterrows():
  folium.Marker(location=[row['경도'],row['위도']],
                popup=folium.Popup(row['학교명'],max_width=200)).add_to(mc)

folium.Choropleth( geo_data=geo_json,
    data=df[1:],
    columns=['자치구별(2)', '소계'],
    key_on='feature.properties.SIG_KOR_NM',
    fill_color='Blues',
    fill_opacity=0.5,
    line_weight=3,
    line_opacity=0.5
).add_to(Map)

Map

  • 이렇게 하면 마커와 함께 대학의 대략적인 위치를 파악할 수 있다.

'python study > sw와 ai 데이터 분석' 카테고리의 다른 글

동작구 버스 데이터 분석  (1) 2025.01.12
지도 시각화2  (2) 2024.11.09
지도 시각화  (1) 2024.11.08
WordCloud 더 나아가기  (0) 2024.11.07
WorldCloud 시각화분석  (1) 2024.11.07