취미와 밥줄사이

[Visualization] - 경기도 과천시 재난감지 시스템 본문

Python/Visualization

[Visualization] - 경기도 과천시 재난감지 시스템

취미와 밥줄사이 2021. 5. 2. 00:48

1. introduction


  • python의 folium 라이브러리를 사용해서 경기도 과천시 재난감지 시스템의 설치된 장소를 시각화 하였다.
  • 사용한 데이터는 공공데이터포털의 자료를 사용하였다.

경기도 과천시_재난감시시스템_CCTV_위치_정보_20200807.csv
0.00MB

2. Content


2-1. Import Libraries


import pandas as pd
import folium
import os
import warnings
warnings.filterwarnings( action = 'ignore')

2-2. Load Data


df = pd.read_csv( filepath_or_buffer= '/content/drive/MyDrive/데이터분석/공공데이터 프로젝트/경기도 과천시_재난감시시설/data/경기도 과천시_재난감시시스템_CCTV_위치_정보_20200807.csv',
            encoding = 'cp949')
df.head()

2-3. Preprocessing


latitude = df['위도'].mean()
longitude = df['경도'] = df['경도'].mean()
center = [latitude, longitude]
df['화소'] = df['화소'].apply(lambda x: x.split('만')[0]).astype(int)

3. Visualization


m = folium.Map( location= center , zoom_start= 10)

for i in df.index:
    sublat = df.loc[i, '위도']
    sublong = df.loc[i, '경도']
    title = df.loc[ i, '설치년도']
    radius = df.loc[i, '화소']
    folium.CircleMarker( location= [sublat, sublong],radius= int(radius / 8), popup= str(title) ,fill = True).add_to(m)

Circle Marker

m = folium.Map( location= center , zoom_start= 10,)
for i in df.index:
    sublat = df.loc[i, '위도']
    sublong = df.loc[i, '경도']
    folium.Marker( location = [sublat, sublong]).add_to(m)
m


m = folium.Map( location= center , zoom_start= 10,)

locations = df[['위도', '경도']].values.tolist()
folium.PolyLine( locations = locations, popup= '재난감지기').add_to(m)
m.save( outfile = '3.html')

m

m = folium.Map( location= center , zoom_start= 10,)

for i in df.index:
    sublat = df.loc[i, '위도']
    sublong = df.loc[i, '경도']
    folium.Circle( location = [sublat, sublong], radius = 50,
        color = '#000000',
        fill = 'crimson').add_to(m)

m