1. 사용데이터

KTDB 국가교통데이터베이스(https://www.ktdb.go.kr/www/index.do)에서 철도망, 철도역, 행정경계 데이터 다운로드

 

-자료신청 및 다운로드 방법

 1) KTDB 국가교통데이터베이스 회원가입

 2) 상단 메뉴에서 정보공개 > 자료신청

 

 

 3) 교통분석자료 신청

 

 

 4) 다음과 같이 원하는 자료를 선택

 

 

 5) 신청서 작성을 완료하고 몇 분 뒤 신청이 승인되었다는 문자가 오면

     마이페이지 > 자료신청내역에서 데이터 다운로드

 

 

2. QGIS에서 SHP파일 GeoJSON파일로 변환하기

ktdb에서 받은 파일은 shp 형태이고 folium에서 지도를 시각화하기 위해서 GeoJSON파일이 필요

따라서, QGIS에서 shp파일을 GeoJSON으로 변환

 

2-1. QGIS에서 shp파일 불러오기

 

 

 

2-2. 불러온 레이어 우클릭 > 내보내기 > 객체를 다른 이름으로 저장

 

2-3. 포맷을 GeoJSON으로 설정 후 이름 작성하고 좌표계는 EPSG: 4326-WGS 84로 설정

2-4. 확인 누른 뒤 rail_route_station에도 똑같이 적용하면 shp파일을 geojson파일로 저장 완료

2-5. 행정경계 파일도 위의 과정을 거쳐 GeoJSON파일로 변환

 

3. 파이썬에서 GeoJSON파일 불러오기

import json

# 철도망
rail_route='rail_route_geojson.geojson'
rail_route_str=json.load(open(rail_route,encoding='utf-8'))

# 철도역
rail_route_station='rail_route_station_geojson.geojson'
rail_route_station_str=json.load(open(rail_route_station,encoding='utf-8'))

 

 

 

4. 파이썬에서 folium으로 지도 불러오기

import folium

m=folium.Map(location=[36.3435957365,127.7828455523],zoom_start=7)

 -location 내부의 좌표는 우리나라의 중심점 좌표

 -좌표를 중심으로 zoom을 7로 맞추어 지도의 처음 화면이 우리나라 전체를 보여줄 수 있도록 조정

 

 

5. folium 지도에 GeoJSON파일의 데이터 적용하기

import folium

m=folium.Map(location=[36.3435957365,127.7828455523],zoom_start=7)

# folium 지도 m에 앞서 불러온 도시철도 노선과 도시철도 역의 GeoJSON파일 적용시키기
folium.GeoJson(rail_route_str, name="도시철도 노선").add_to(m)
folium.GeoJson(rail_route_station_str, name="도시철도 역").add_to(m)

# 범례와 비슷한 역할로 지도위에 표시된 요소들을 알 수 있고 요소들을 끄고 켤수 있는 기능
folium.LayerControl().add_to(m)

# 지도 출력
m

 

확대해보면 다음과 같이 철도 노선과 철도 역들이 전부 표시되어있음

+ Recent posts