[COMPAS 고양시] 데이터 시각화 해보기 ( feat. python, folium )
솜씨좋은장씨
·2020. 8. 1. 00:20
사용 라이브러리
- pandas, folium, geopandas, geojson, json
시각화에 사용한 데이터
02.자전거스테이션.csv
column 명 | Station_ID | STATION_NAME | 거치대 수량 | 위도 | 경도 |
내용 | 스테이션 고유번호 | 스테이션 이름 | 자전거 최대 수용량 | 위도 | 경도 |
09.행정경계(읍면동).geojson
EMD_CD | EMD_KOR_MM |
읍면동 코드 | 읍면동 이름 |
자전거 대여소(스테이션) 시각화를 통하여 스테이션의 대략적인 분포 확인하기
import pandas as pd
import folium
from folium.plugins import MarkerCluster, MiniMap
import geopandas as gpd
import geojson
import json
먼저 필요한 라이브러리를 import 합니다.
bicycle_data = pd.read_csv("./02.자전거스테이션.csv")
bicycle_data.columns = ['station_id', 'station_name', 'nums', 'latitude', 'longitude']
bicycle_data
latitude = 37.662319
longitude = 126.823963
구글지도에서 고양시의 중심즈음의 좌표를 가져옵니다.
m = folium.Map(location=[latitude, longitude], zoom_start=12)#, tiles='color_map')
gdf = gpd.read_file('./09.행정경계(읍면동).geojson')
gdf = gdf.to_crs(epsg='4326')
converted_json = gdf.to_json()
for i in range(len(my_json2)):
m.choropleth(
geo_data = my_json2[i],
name='인구수',
key_on='properties.emd_cd',
fill_color='YlGn',
fill_opacity=0,
line_opacity=1,
color = 'blue',
overlays=True
)
for key in m._children:
if key.startswith('color_map'):
del(m._children[key])
mc = MarkerCluster()
for row in bicycle_data.itertuples():
mc.add_child(folium.Marker(location = [row.latitude, row.longitude], popup=row.station_name + str(row.nums)))
m.add_child(mc)
m
자전거 대여소가 존재하는 지역
대여소가 있는 지역 | 대여소가 없는 지역 |
가좌동, 덕이동, 대화동, 정발산동, 일산동, 중이동 주엽동, 마두동, 장항동, 풍동, 식사동, 주교동, 도내동, 행신동, 삼송동, 원흥동, 토당동, 중산동, 화정동, 삼송동, 신원동, 동산동, 백석동 |
벽제동, 고양동, 내유동, 관산동, 대자동, 선유동 지영동, 설문동, 성석동, 문봉동, 사리현동, 원당동 오금동, 효자동, 용두동, 화전동, 현천동, 강매동 행주외동, 신평동, 법곳동, 구산동, 내곡동, 대장동 산황동 |
'경진대회, 공모전 > COMPAS 고양시 공공자전거 스테이션 최적 위치 선정' 카테고리의 다른 글
"피프틴" 태그가 포함된 인스타그램 게시물 개수 추이와 실제 사용량 비교해보기 (2) | 2020.09.12 |
---|---|
python 카테고리 나누기 / pydeck을 이용하여 스테이션별 이용량 파악하기 (0) | 2020.09.11 |
python boxplot을 통해 데이터 빈도 알아보기/ 고양시 운영이력 데이터 살펴보기 (0) | 2020.09.11 |