[ Tableau ] 서울시 지하철 노선도 ( 1 ~ 8호선 )

2023. 6. 23. 17:57Tableau

728x90
반응형

데이터를 관리하다 보면 역사별 이용객에 대한 부분을 시각화를 하고 싶은 경우가 있는데

이번에 지하철 역별 인원에 대한 부분을 시각화로 하면 보다 효과적으로 나타낼 수 있지 않을까 하는 생각을 하던 중

유용한 데이터가 있어서 만들어 보았습니다.

 

서울시 지하철 노선도

서울시 지하철 노선도

public.tableau.com


 

서울교통공사_1_8호선 역사 좌표(위경도) 정보_20211231

서울교통공사 1-8호선 276개역 경위도 좌표(소숫점 6째자리까지) 정보 입니다. 본 데이터는 우리 공사는 철도 건설 등 측량업무를 별도로 수행하지 않으므로, 데이터의 주기적인 관리가 어려워,

www.data.go.kr

※ 데이터 출처 : 서울시 공공데이터 포털


해당 데이터는 서울 교통공사에서 제공하는 지하철 역사의 위경도 좌표로 Geometry 시각화 후

원하는 데이터를 추가하는 방법이 가능할 것 같아서 일단 만들어 놓고 활용은 추후에 검토하는 방향으로 해 보도록 하겠습니다.

Python으로 하는 방법이 더 재미있을 거 같기는 하지만 일단 Tableau를 이용해서 만들어 보도록 하겠습니다.


데이터 불러오기

 

다음과 같이 Tableau에 데이터를 불러온 후 시트로 이동하여 시각화를 진행해 보도록 하겠습니다.

데이터를 살펴보면 직관적으로 알 수 있기 때문에 바로 넘어가 보도록 하겠습니다. 

위도, 경도를 활용하여 Geometry 시각화를 해 보도록 하겠습니다.

우선 위도, 경도를 지리적 역할로 변경해 주도록 하겠습니다.

위도를 행에 경도를 열에 넣어 주었더니 다음과 같은 점이 하나 생기는 것을 볼 수 있습니다.

아직 세부정보를 넣지 않았기 때문에 전체 위도, 경도의 평균에 생성된 포인트입니다.

이제 세부 정보를 넣어서 지하철 역을 넣어 보도록 하겠습니다.

세부정보에 역명을 넣었더니 점들이 펼쳐지는 것을 볼 수 있습니다.

이렇게 봐서는 지하철역인지 아닌지는 잘 모르겠습니다. 


점과 라인그래프 만들기

 

지하철 노선들을 선으로 연결해 주는 작업을 해 보도록 하겠습니다.

선을 넣어 주기 위해서 마크는 하나 더 추가해 주고 하나의 마크는 라인으로 변경해 보도록 하겠습니다.

경로가 지정되지 않아서 그런지 원하는 라인이 안 나오고 있습니다. 

세부정보에 라인을 만들기 위한 부분을 추가해야 할 거 같습니다.

연번을 경로에 추가해 주니 뭔가 라인이 나오는 느낌이 듭니다.

일단 두 개의 그림을 합쳐 보도록 하겠습니다.

라인은 나오는 거 같으나 맨 마지막 역에서 필요 없는 라인이 생기는 것을 볼 수 있습니다.

색상에 호선을 추가해 주니 다음과 같은 라인이 생성되는 것을 볼 수 있습니다.

우리가 알고 있는 지하철의 색상으로 표현하기 위해서 라인의 색을 변경해 보도록 하겠습니다.

지하철에 집중하기 위해서 배경맵을 지워주고 지하철 노선만 남겨 놓도록 하겠습니다.


오류 수정하기

 

아 호선별로 살펴보니 5호선 라인이 구분되지 않고 연결되고 있는 것을 볼 수 있습니다.

이 부분은 수정해 보도록 하겠습니다.

case - when 함수를 활용해서 추가적인 Root를 하나 넣어 주도록 해 보겠습니다.

완벽하지는 않지만 새로운 라인으로 구분이 가능한 것을 볼 수 있습니다.

 

데이터 원본을 건드리는 것을 좋아하지는 않지만 데이터 원본을 건드려서 다음과 같이 두 가지의 루트를 연결하였습니다.

강동을 데이터에 추가해서 각 라인이 분리되는 방법입니다.

2호선이 내선순환선이다 보니 가장 힘들었던 구간인데 일단 까치산행 및 신설동행 라인을 구분해 준 후

시청과 을지로 입구가 끊어져 있는 부분을 연결하기 위해서 을지로입구, 신도림, 성수역을 각각 추가해 주었습니다.

그리고 신설동행은 연번의 순서가 다르게 되어있어서 순서를 변경하는 함수를 추가하였습니다.

아 이제 다 된거 같았는데 다시 한번 보니 1호선의 데이터가 충분하게 들어가 있지 않습니다. 

데이터의 품질이 좋지는 않는데 1호선은 수작업으로 추가해야 될 것 같습니다.

 

728x90
반응형