글 : 김승범


서울을 포함한 수도권은 지하철 건설이 한창이다.  GTX 같은 급행철도나 경전철을 포함하여 새로 만드는 노선이 열 개도 넘는다. 이렇게 만들어지는 지하철은 서울과 수도권의 시간거리를 얼마나 단축시킬까? 예전에 한 시간 걸리던 직장을 얼마나 빨리 갈 수 있을까? 서울 도심보다 한적하고 여유로운 교외로 이주하면 직장이나 학교, 혹은 여가 시간을 위해 자주 가던 곳으로 가는데 얼마만큼의 시간이 들까? 인터랙티브 지도를 통해 직접 확인해 볼 수 있다.


https://vuski.github.io/seoulsubway/   <--클릭 후 접속(휴대폰에서 조작 불가)





1974년부터 지하철이 건설되어 왔다




1974년에 경인선 전철을 첫 시작으로 서울 어딘가에서는 늘 지하철을 뚫고 있었던 것 같다. 아래의 영상에서 1:32초부터 건물과 함께 지하철이 건설되는 장면을 볼 수 있다.  (지하철 답지 않게 그냥 하늘에서 번쩍 하고 뚝 떨어지도록 표현했다.) 2019년 이후로는 건설이 예정된 지하철들을 볼 수 있다. 시기가 불투명한 노선은 마지막 2030년에 한꺼번에 넣었다.







1년에 하나씩 새로운 지하철이 생긴다



위 영상에서 본 것처럼, 그 간 정부의 발표들을 모아보면 대략 2030년, 혹은 그 이후까지 아래와 같은 지하철(관련 철도를 모두 지하철로 표기하겠다)이 만들어진다고 한다.


김포도시철도

GTX_A  / GTX_B  / GTX_C / 신안산선 

강북횡단선 / 난곡선 / 동북선 / 면목선 / 목동선 / 서부선 /신림선 

강일미사광역철도 

원종홍대선 

위례선 / 위례신사선

남부광역급행철도(미정)




김포도시철도 같은 경우는 올해 안에 개통을 앞두고 있다고 하고, 공사 중인 노선도 다수 있으며, 올해 초에 예비타당성 면제가 된 GTX 노선들도 있다. 서울 북부를 가로지르는 강북횡단선의 경우에는 올해 초에 서울시에서 공개하며 적극 추진을 결정하기도 했다. 혹은 남부광역급행철도(혹은 GTX-D)처럼 노선의 위치는 공개되었으나 추진이 불투명한 노선도 있다. 여기서 열거된 신설 노선 이외에도 기존 노선들이 양 끝으로 연장되는 경우도 다수 있다. 앞으로 10여년 간 1년에 하나, 혹은 그 이상씩 새로운 노선이 개통거나 기존 노선 연장으로 동네에 새로운 역이 생긴다.



그 노선들을 다 넣어본 그림은 이 글 맨 위에서 볼 수 있다. 실선은 2019년 4월 현재 개통된 노선들, 그리고 점선은 아직 개통되지 않은 노선들이다.


정말 이 노선들이 다 만들어질까 의구심이 들기도 하지만, 꽤 많은 노선들은 거의 다 개통될 예정이라 한다. 사실, 계획들이 중간에 틀어지거나 노선들이 변경되기도 하고, 일부 노선은 지자체에서 강하게 밀어부치지만 아직 불투명한 것들도 있다. 개통 예정 시기는 주로 나무위키의 자료를 참고로 했는다.


그 간의 경험상 개통 시기가 연장되었던 경우가 대부분이라 지금 게시된 날짜들은 참고로만 하면 될 것 같다. 이 데이터를 구축한 것이 작년 하반기부터였기 때문에, 옮겨적은 날짜가 또 변경되었을 수도 있다. 



이 글은 개통시기보다는 시간 거리에 초점을 맞추고 썼다. 이 노선들을 모두 만들어 환승 등을 고려한 네트워크로 연결시킨 뒤, 실제로 얼마나 시간이 걸릴지 시뮬레이션 해봤다. 발표된 노선들의 표정속도(정차시간을 고려한 전체 평균 속도)를 반영했으며, 환승에 필요한 시간도 고려해서 넣었다. 데이터에 대한 설명은 이 글의 후반부에 좀 더 자세히 하기로 하고, 일단 결과를 몇 개 살펴보기로 하자.






수인선 연장




현재 수원역에서 오이도를 가려면 62분이 걸린다. 1호선을 타고 금정역에 가서 4호선을 갈아타야 한다. 수인선이 개통되는 이후를 보자.




2020년에 기존의 노란색 선 수인선이 수원역까지 연장되는데, 분당선과 직결되면서 43분에 갈 수 있다. 19분이 단축되는데, 왕복을 생각하면 40분 가까이 단축되는셈이다.


(참고로 수인선 수원 연장의 경우, 작년 말에는 2019년이라고 했는데, 다시 확인해보니 2020년으로 이미 늦춰졌다.)



그림 아래 깔린 등고선 같은 색들은 등시선도(Isochrone map)라 불리는 시간 거리 지도다. 그림에는 수원역을 중심으로 시간거리가 30분 이내의 영역, 60분, 90분까지 보인다. 수인선의 연장개통으로 해당 역들 부근의 시간 거리 영역이 전반적으로 확장되었다.






삼성역과 GTX-A





2022년경 2호선 삼성역의 시간 거리 지도는 위와 같다. 신분당선이 빠르기 때문에 한 시간 안쪽으로 갈 수 있는 지역이 남쪽 영역으로 많이 확장되어 있다.  2호선을 타고 가다가 사당역에서 4호선으로 갈아타도 한 시간 안에 꽤 멀리 갈 수 있다.






2024년경에 GTX-A가 삼성-동탄 구간에 개통된다. 출발역을 동일하게 2호선 삼성역으로 두면 2호선에서 GTX-A역으로 가는 환승시간이 추가되어 위와 같은 결과가 나온다. GTX-A가 지하 50m 부근에 건설되기 때문에 환승이동시간+플랫폼에서 기다리는 시간을 합하여 10분을 넣었다.



마우스를 약간 움직여 출발역을 GTX-A 삼성역으로 두면 아래처럼 10분이 단축 된다.




대신 서울 북쪽 지역은 미세하게 시간거리 영역이 줄어든 것을 볼 수 있다. GTX-A 삼성역에서 북측 지역을 가려면 2호선으로 갈아타야 하는데, 이 환승시간이 고려되어 그 부분만큼 시간 거리가 줄어든 것이라 보면 된다.


물론 동탄역까지 21분이면 가는데도 불구하고 시간거리 지도는 동탄에서 넓게 확장되지 않는다. 이 철도망 네트워크는 철도가 아닌 일반 도로가 반영되어 있지 않으므로, 이 지도가 역에 내려서 주변 지역으로 가는 상황까지는 계산하지 못한다. 그러므로 실제로는 한시간 거리가 훨씬 더 넓을 것이라고 보면 된다.


GTX-A 용인역은 분당선 구성역과 인접해 있다. 그렇지만 환승역이 아니므로 이 네트워크에서는 단절되어 있다. 때문에 주변에 있는 분당선이나 용인에버라인 쪽으로 시간거리지도가 확장되지 않는다. 







8호선 별가람역 연장





8호선이 별가람역까지 연장되기 직전에는 현재 남양주시 진접읍에 진접역이 개통되어 있을 예정이다. 여기서부터 잠실역까지 77분이 걸리는데, 아래 그림을 보면 8호선 연장처럼 기존에 철로가 전혀 없던 부분을 가로지르게 되면 25분 정도 시간 단축이 이루어진다.




기존에 세 번 환승하던 길이 환승 한 번으로 줄어들었다. 잠실역이 좀 더 바글바글해지겠다.





고양시에서 동탄까지




빠르면 2024년에 GTX-A가 대화역 부근까지 연장된다. 이 노선의 효과를 보자. 





현재는 대화에서 서동탄까지 120분 소요






앞에서 언급한 것처럼 GTX-A가 삼성-동탄 구간에 일부 개통된다. 목적지를 GTX-A 동탄역으로 바꿔봤다. 114분 소요. 아직은 단축이 미미하다. 







GTX-A 킨텍스 역까지 개통된 후 동탄역까지 42분. 시간이 현재의 1/3 정도로 줄어든다. 물론 집 문에서 직장 문까지라면 GTX-A 역을 내려가고 올라가는 시간이 필요하므로 상대적인 차이를 감안해서 10분쯤 더하면 될 것 같다. 그래도 절반이상이 줄어든다.








수원에서 청량리까지




GTX-C 노선 역시 기존 거리를 많이 단축시켜준다. 청량리 역을 중심으로 보자




기존에 수원역까지 1호선으로 1시간 27분 걸렸다.






GTX-C를 타면 35분에 간다. 물론 양측 다 주요 업무 밀집지역이 아니라 실제로 매일 이 거리를 오가는 사람이 아주 많지는 않을 것 같다. 그래도 청량리역에서 동쪽으로 가는 기차 노선들이 많기 때문에, 네트워크의 중간 거리를 단축시켜주는 역할을 많이 할 수는 있겠다. 


위의 두 지도에서, 청량리역을 중심으로 했을 때 얼마만큼 같은 시간에 멀리 가게 될 수 있는지를, 아래 깔린 시간거리지도를 통해 볼 수 있다. 30분 권역이 대폭 확장된다.






송도 국제업무단지와 GTX-B




효과가 큰 부분 위주로 쓰다보니 GTX 노선에 대한 내용처럼 되어버렸다.


......

아예 본 김에 (예비타당성 통과가 되지 않은) GTX-B도 보자.

이번에는 약간 다른 방식으로 보자.




인천대 입구역을 중심으로 한 시간 거리 지도다. 해당 역을 중심으로 30분, 60분, 90분, 120분 도달권역을 보여준다.





만약 GTX-B 노선이 놓이게 된다면 어떻게 될까? 바로 인천대입구역과 GTX-B 송도역은 인접할 예정이라 출발지를 바꿔봤다. 서울 동북측까지 한 시간 권역이 확장되어 있는데, GTX-B 노선이 거기까지 가기 때문이다. 그리고 연계되어 넓게 퍼진 모양은,  중간 환승역들에서 다른 노선으로 갈아탈 수 있기 때문에 부수적인 네트워크 효과가 더해진 결과다. 





위에서 언급한 노선들 외에도 서울에는 예닐곱개의 경전철들이 생긴다. 아주 먼거리를 많이 단축시켜주지는 못하지만, 기존에 막히는 버스를 타고 전철을 갈아타면서 직장까지 오래 걸렸던 지역에 살던 사람들에게는 무척 편리한 교통수단이 될 것 같다. 


여기서는 도로 네트워크를 넣지 않아서 경전철 효과는 비교해보기 어렵다. 주변의 노선들을 감안해서 직접 비교해볼 수 있다.




PC에서 접속해야 하며, 크롬과 MS엣지에서 테스트해봤다.

터치 반응을 넣지 않았으므로 휴대폰에서는 안된다. 인터넷 익스플로러에서도 안된다.


https://vuski.github.io/seoulsubway/   <--클릭 후 접속








여기부터는 기술적인 내용이다. 




인터랙티브 등시선도 : 시간거리지도


시간거리 지도는 이미 아래의 글에서 설명해두었다.


https://www.vw-lab.com/63



OpenGL 기반으로 만들었던 내용을 WebGL로 바꾸어넣었다. 이 코드변환은 마치 찾기-바꾸기 기능으로 될 것 처럼 문법이 비슷해서 시작했는데,  WebGL에서 안되는 기능이 상대적으로 아주 많다. 만만하게 봤다가 살짝 고생했다.


첨부된 글에 있는 네트워크는 40만개 노드였는데, 지하철의 경우에는 1000개 정도밖에 안된다. 최단거리 계산하는 코드 중 priority queue는 다른 코드를 가져다 썼는데, 노드가 많아지면 개선해야 할 부분이다. 현재는 1ms 안쪽에서 최단거리를 계산할 수 있다.


사실 처음에는 실시간 인터랙티브 등시선도를 만들어 볼 생각으로 시작했다. 그런데 최종적으로는 등시선도의 색상을이 되도록 눈에 띄지 않도록 바꾸어버렸다. 

여러 가지 생각을 했는데, 우선 지하철의 경우 노선별로 고유의 색상이 있다. 이 색상은 사람들이 경험적으로 강하게 인지하고 있기 때문에 그대로 살려주는게 좋다고 판단했다. 그렇게 볼 때, 이미 아주 많은 색상이 들어가 있으므로 등시선도에 색상을 넣으면 시각적으로 혼란스러워졌다. 

그래서 등시선도 색상을 지우고 테두리만 표현해보았으나 지하철 노선 자체가 지닌 선적 요소와 또 충돌해서 구분이 쉽게 되지 않았다. 그리고 등시선도의 경우 중간 중간에 섬처럼 존재하는 시간 영역이 있는데, 선으로 표현할 경우 이 부분을 쉽게 파악하기 힘들었다.

그래서 결국 처음 했던대로 등시선도를 면으로 깔되, 채도를 낮추어 간섭의 정도를 줄이는 방향에서 마무리했다.



아래 그림은 바로 위에 사용했던 그림인데, 등시선도 계산 방식의 한계 상, 지하철 역에서 멀리 떨어진(아래 그림에서 A라고 표시한) 부분도 주변의 지하철 역과 같은 시간 권역이라고 계산이 된다. 만약 도로가 뻗어 있고 같은 속도로 도달할 수 있다면 그럭저럭 현실과 비슷한 그림이 되겠지만, 대부분의 경우 저런 틈새 공간은 같은 시간 권역이라고 판단하지 않는 것이 좋다.


이 문제를 해결하려면 dummy가 되는 점들을 해당 부분에 넣어준 후 Delauney trianglation을 하면 된다.(https://www.vw-lab.com/63 참고)









데이터와 네트워크




기초 자료 : 철도 노선과 역



기존 철도 노선의 경우 국토교통 DB의 자료를 기본으로 사용했다. 역과 역 사이의 선로가 하나의 개체로 구분되어 있어 편리했기 때문이다. 그렇지만, 노선의 디테일이 떨어지거나 환승역이 하나로 통합되어 있었기 때문에 하나하나 수작업으로 분리했다. 여기서 수작업이란 QGIS에서 edit 기능을 통해서 점하나 찍고 선하나 그리는 과정을 말한다.


아직 건설되지 않은 노선과 역은 당연히 직접 그렸다. 생각보다 많은 시간이 소요된다. 


직접 그릴때는 발표된 해상도 낮은 이미지들과 나무위키의 자료들을 참고로 했다. 되도록 발표된 위치와 가깝도록 신경썼다. 좌표는 EPSG:5179 (UTMK, KOREA 2000 Unified CS)다.




역간 소요시간


역간 소요시간의 경우, 공개된 데이터와 여러 철도 회사의 홈페이지 자료를 기본으로 사용하고, 없는 내용들은 네이버, 다음 등의 지하철 노선에서 볼 수 있는 시간을 일부 사용했다. 포털 자료를 얼마나 사용했는지 기억이 잘 나지 않았는데, 포털에서는 분 단위로 나와서 모두 더했을때 부정확해지는 경향이 있다. 그래서 후반부에는 다시 수정하여 초 단위로 바꾸어 넣었다고 기억한다.


아주 고맙게도 유투브 등의 영상에서 전 차선의 주행 영상이 있다. 사람들이 직접 타고 찍어 올린 영상이다. 중앙보훈역 같은 9호선 신설 노선같은 경우 이러한 영상들을 참고로 해서 넣었다.


아직 건설되지 않은 철도의 경우는 여러가지 보고서나 발표 자료에 첨부된 표정속도를 참고로 했다. 말단끼리의 소요시간만 있는 경우에는 역간 거리를 감안하고 정차시간 30초를 넣어서 계산했다. 


발표자료에도 소요시간이 없는 경우에는 경전철의 경우 표정속도 35~36km 정도에 맞췄다. 다른 노선들도 특징이 비슷한 노선을 참고해서 넣었다.


A, B 두 역간 소요시간은 A에서 B로 가는 경우와  B에서 A로 가는 시간을 같게 넣었다.




환승역 처리


서울역이나 청량리역과 같은 환승역은 노선별로 역을 분리시켰다. 통합시킬 경우 네트워크 계산에서 환승이 잘 반영되지 않았기 때문이다. 단, 출발지로 설정할 경우에는 그룹으로 묶을 수는 있는데, 일단 그대로 두었다. 예를 들어 똑같은 '서울역'에서 출발하더라도 1호선과 신분당선(예정) 같은 경우는 지표면에서 접근 시간이 달라진다. 따라서 출발지 설정시에도 구분해서 선택하는게 더 정확하게 볼 수 있을 것이라고 판단했다.



환승역은 아래 그림과 같이 넣었다. 가능한 모든 쌍을 이었으므로 역이 5개일 경우 환승 선이 10개가 된다. 환승 선은 10개가 되지만 방향이 있는 네트워크이므로 가는 것, 오는 것을 구분하여 모두 20개의 선이 된다.








환승 시간은 이동 시간과 대기 시간을 더해서 계산했다.


일단 한 플랫폼에서 다른 플랫폼으로 가는 이동시간을 넣었는데, 유투브의 핸드헬드 카메라 환승 영상들을 참고로 했고(놀랍게도 대부분 있다), 없는 경우 다른 경우를 참고하여 거리에 비례해서 넣었다.


환승역 두 개 노선의 플랫폼 모두 양측으로 분리되어 있는 경우(상대식 승강장) 플랫폼이 총 네 개가 생기므로, 각각의 이동경로도 최소 4개가 생긴다(한 플랫폼에서 드나드는 경로가 여러개 있으므로 실제로는 4개 이상이 된다). 이 경우, 각 환승 경로의 길이가 다른 경우가 많지만, 여기까지는 반영하지 못했다. 이동시간은 A에서 B로, B에서 A로 가는 경우가 같게 넣었다.


대기 시간의 경우 1시간(즉, 59분)에 6대 있는 노선은 최대 대기시간이 10분이므로 그 절반인 5분으로 대기 시간을 넣었다. 그런데 두 노선간 환승의 경우 양측 노선의 운행 빈도가 다르므로 대기 시간 역시 달라진다. 예를 들어, 1호선에서 6호선으로 환승하는 시간과 6호선에서 1호선으로 환승하는 경우 대기 시간이 다르다. 1호선은 자주 다니지만 6호선은 그렇지 않기 때문이다. 이 부분은 반영해서 넣었다.


경의선 신촌역 같은 경우 열차가 거의 한시간에 한대이므로 대기시간은 30분으로 넣었다. 최근 개통한 분당선 청량리역의 경우도 하루에 5-6회밖에 없는데 퇴근 시간에는 아예 없다. 대기시간을 두시간으로 넣었다. 따라서 이 부근의 등시선도가 아래 그림처럼 그려질 수 밖에 없다. 높이가 급격하게 떨어지는 절벽의 등고선 처리를 생각하면 된다.


끝.



서울에서 출발하는 경의선은 운행빈도가 적다. 따라서 회현역을 중심으로 볼 때 경의선 서울역, 신촌역, 가좌역은 30분 권역에서 벗어난다. 가좌역의 경우 용산에서 출발하는 경의중앙선 가좌역도 있기 때문에 여기서 30분 권역의 경계가 형성된다.




COMMENT : 0 TRACKBACK : 0

Category

Content

Date

2019.04.01 23:42

위로가기