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')
: 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
✅:

tasu_station = gpd.read_file('./data/Lecture2/tasu_station_inf.shp')
tasu_station.head(2)
✅:
m = folium.Map(location=[36.3398175, 127.3940486], zoom_start=12)
:경도 : 36.3398175 , 위도:127.394086 지정후, 중간 위치 12로 지정함.
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 값 추출해 마커 생성함
✅:

### 지도를 그릴 때는 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
✅:

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
✅:

### 지도를 그릴 때는 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
✅:

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
✅:
