주제: 서울시 공원 위치 시각화(2/2)
작성일: 14th January, 2023
버전: pandas 1.4.4 / geopandas 0.9.0 / mpl 3.5.2
활용데이터:
① 공간정보시스템 - 대한민국 최신 행정구역(SHP) 다운로드
② 서울열린데이터광장 - 서울시 주요공원 현황
선행학습 :
① 라이브러리 설치 - 2023.01.06 - [✔ Python/Visualization] - [GeoPandas] GeoPandas 라이브러리 설치
② 전국데이터에서 서울만 표출 - 2023.01.06 - [✔ Python/Visualization] - [GeoPandas] GeoPandas 라이브러리 설치
③ 좌표변환 - 2023.01.13 - [✔ Python/Visualization] - [GeoPandas] 서울시 공원 위치 시각화(1/2)
안녕하세요, wscode 루카스입니다.
이전 포스팅에서 진행했던 서울시 공원위치 시각화 작업을 folium 이용해서 추가적으로 시각화를 진행해 보도록 하겠습니다.
1. 서울 GeoJSON 파일
이전 포스팅에서 표출한 서울데이터를 .GeoJSON파일로 저장합니다.
- 파일명.to_file("원하는 파일위치", driver = "GeoJSON")
new_seoul.to_file('./seoul.geojson' , driver='GeoJSON')
2. Folium 데이터시각화
2.1. 지도 생성
# 지도 생성
import folium
m = folium.Map(location=[37.55, 126.90], # 지도의 중심위치 설정
zoom_start=10, # zoom level 설정
tiles= "cartodb positron" #"Cartodb dark_matter"
)
1번에서 저장한 서울 geojson 파일을 지도위에 추가합니다.
sg = './seoul.geojson'
geo_data = json.load(open(sg, encoding = 'utf-8'))
folium.GeoJson(geo_data,
).add_to(m)
2.2. 공원 위치 표출
좌표값이 한개이상이다보니 반복문을 통해서 공원위치를 표출하도록 하겠습니다.
for i in range(df1['X좌표(WGS84)'].count()):
folium.Circle([df1['Y좌표(WGS84)'][i], df1['X좌표(WGS84)'][i]],
radius = 7.5,
color = "red",
fill_color = "Red"
).add_to(m)
m
2.3. 공원 밀집도 히트맵 표출
공원의 밀집도를 가장 잘 표현할 수 있는 방법은 히트맵입니다. 그렇다면, folium의 plugins 활용하여 표출해보도록 하겠습니다.
우선, heatmap의 경우, 데이터프레임 형식은 표출이 안되기때문에 list 형식으로 데이터포맷을 변경해줍니다.
from folium import plugins
location_data = df1[['Y좌표(WGS84)','X좌표(WGS84)']].values[:len(df1)].tolist()
plugins.HeatMap(location_data[:-1], radius = 50).add_to(m)
m
Other Posts
Geopandas 활용한 Geoscience series 링크입니다
- Part 1- 2023.01.06 - [✔ Python/Visualization] - [GeoPandas] GeoPandas 라이브러리 설치
- Part 2- 2023.01.13 - [✔ Python/Visualization] - [GeoPandas] Python으로 .shp 파일 읽기
- Part 3- 2023.01.13 - [✔ Python/Visualization] - [GeoPandas] 서울시 공원 위치 시각화1/2
Reference
- 파이썬 지도 시각화 패키지 응용사례 : https://blog.naver.com/PostView.naver?blogId=life4happy&logNo=222161099861&categoryNo=0&parentCategoryNo=0
- 지도 시각화 활용한 데이터분석 : https://dacon.io/en/competitions/official/235753/codeshare/3120
728x90
반응형
'Python > 4️⃣ 시각화' 카테고리의 다른 글
[Folium] Folium plugins - 미니맵 생성 및 속성 (2) | 2023.10.24 |
---|---|
파이썬으로 쉽게 대시보드 만들기 [1] Streamlit 소개 및 설치하기 (0) | 2023.10.09 |
[GeoPandas] 서울시 공원 위치 시각화(1/2) (0) | 2023.01.13 |
[GeoPandas] Python으로 .shp 파일 읽기 (0) | 2023.01.13 |
[Folium] 지진 데이터 시각화 (0) | 2023.01.10 |