230704] Foluim Basic

yoonhappy·2023년 7월 5일

데이터청년캠퍼스

목록 보기
2/2

folium : 데이터 시각화, 위치 기반 서비스, 지리적 분석 등 다양한 분야에서 사용함.

🟪 1.folium 설치하기

!pip install folium`
!pip install geopandas
import folium

import matplotlib.pyplot as plt
import shapely.plotting as plotting
import geopandas as gpd
import warnings
warnings.filterwarnings('ignore')

🟪 2.Folium.map

: folim.Map() : 인터랙티브한 웹 지도를 생성하는 역할 함.

m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=12) # 대전 중심점으로 기본 지도 생성 
m

✅:

m = folium.Map(location=[36.3398175, 127.3940486], tiles='cartodbpositron', zoom_start=12)

✅:

m = folium.Map(location=[36.3398175, 127.3940486], tiles='cartodbdark_matter', zoom_start=12)
m

✅:

🟪 3.Marker

tasu_station = gpd.read_file('./data/Lecture2/tasu_station_inf.shp')
tasu_station.head(2)

✅:

1) 시각화 진행.

m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=12) 

:경도 : 36.3398175 , 위도:127.394086 지정후, 중간 위치 12로 지정함.

2) marker 찍음.

for idx, row in tasu_station.iterrows():
    folium.Marker([row['geometry'].y, row['geometry'].x]).add_to(m) 

m

: 각 행에서 위도(row['geometry'].y) ,경도:row['geometry'].x 값 추출해 마커 생성함

✅:

🟪 4. circle

### 지도를 그릴 때는 base map 부터 설정한 후 시각화를 진행한다.
m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=12)

### Circle
# - folium.Circle([위도, 경도]).add_to(베이스 맵)
# - parameter = {radius : 반경, color = 색깔}
for idx, row in tasu_station.iterrows():
    folium.Circle([row['geometry'].y, row['geometry'].x],
                  radius=20,
                  color='red').add_to(m)

m

✅:

🟪 5.Choropleth

choropleth: 지리 데이터를 기반으로 한 Choropleth(등치지도)를 생성하는 데 사용되는 함수

HJD = gpd.read_file('./data/Lecture2/HangJeongDong.geojson')
daejeon_HJD = HJD.loc[(HJD['sidonm'] == '대전광역시')].reset_index(drop=True)
### 지도를 그릴 때는 base map 부터 설정한 후 시각화를 진행한다. 
m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=11) 
### Choropleth 
folium.Choropleth(geo_data=daejeon_HJD['geometry']).add_to(m) 
m

✅:

🟪 6.대전시 동별 데이터 사용

1) 대전시 동별 데이터를 사용해 대전 크기를 시각화

### 지도를 그릴 때는 base map 부터 설정한 후 시각화를 진행한다. 
m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=11) 

### Choropleth 
folium.Choropleth(geo_data=daejeon_HJD['geometry']).add_to(m) 

m

✅:

🟪 7.행정구역 별 타슈 정류장 시각화

m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=11) 

folium.Choropleth(geo_data=daejeon_HJD['geometry']).add_to(m) 
for idx, row in tasu_station.iterrows():
    folium.Circle([row['geometry'].y, row['geometry'].x], 
                  radius=20,
                  color='red').add_to(m) 

m

✅:

profile
윤해삐

0개의 댓글