진행중인 플젝 시각화 과정에서
지도 위에 서울시 동 경계선을 긋고,
노후주택 수를 count한 데이터셋을 가져와서,
동별로 count 수에 따라 단계별로 색칠하는 것 이 필요했다.
처음에 말로만 들으니 "간단한 건가?" 싶었었다.
하지만 막상 파이썬으로 구현하려니
동 경계 데이터가 json 파일이라 핸들링이 미숙했고,
MarkerCluster로 노후주택 수를 표현하자니
숫자를 세는 경계가 심히 자유분방했다.
^^
그래서 이것저것 다른 방식을 생각해보고 있었는데,
최근 두 번 정도 수강한 태블로 강의에서
.shp
파일도 다룰 수 있다는 걸 언뜻 들은 기억이 났다.
그래서 무작정 Tableau 로 시도해봤다.
(*참고로 Public 버전이다.)
http://www.gisdeveloper.co.kr/?p=2332
일단 나는 이 링크에서 대한민국 읍면동 데이터를 담은 .shp
파일을 다운받았다.
처음에는 .shp
확장자 파일만 있으면 되지 않을까 해서 따로 빼두었는데,
왜인지는 모르겠으나 이 파일들이 한 곳에 있어야 정상적으로 데이터가 불러와지더라.
"데이터 원본과 통신하는 동안 오류가 발생했습니다." 오류가 뜬다면 확인 필수!
일단 이 공간파일만 불러오고 워크시트로 넘어가서,
테이블 필드의 기하도형
을 더블클릭 한다.
그러면 행 선반에 위도
, 열 선반에 경도
가 자동으로 들어가고
우리에게 익숙한 지도의 모양새가 나온다.
하지만 비주얼이 딱히 마음에 들지 않기에,
색상 마크카드를 눌러서 투명도라든지 색상이라든지 손 대준다.
그리고 동의 이름을 지도상에 표시하기 위해서
shp
파일에 들어있는 Eng Nm
컬럼을 더블클릭 한다.
원래는 한글 이름을 붙이려고 했으나,
한글 폰트가 깨져버리는 바람에 영문 이름으로 진행했다.
그래서 한글 동 이름과 노후주택의 수가 담겨있는 텍스트 파일 역시
영문 동 이름 컬럼을 넣어주는 고생을 조금 해야했다.
다시 데이터 원본 단계로 돌아가서
수정한 csv
파일을 추가 연결 해주었다.
파일끼리 연결해주기 위해
파일 필드
에 있는 파일을 옆 빈공간으로 드래그 앤 드롭 한다.
그리고 아래쪽에서 공통 필드를 지정하여 두 파일을 엮어준다.
다시 워크시트 단계로 돌아가면,
테이블이 하나 더 생겨난 것을 확인할 수 있다.
이제 csv
파일의 "count"
컬럼을 색상 마크카드에 끌어다 두면?
두 가지 문제점을 발견할 수 있다.
문제 1. 색깔이 너무 애매하다.
문제 2. 필요한 구만 색칠되었으면 좋겠다.
문제 1
의 해결방안은 가장 간단했지만, 가장 알아차리기 어려웠다.
먼저 색상 마크카드에서 색상 편집
에 들어가 좀 더 극단적인 색으로 바꿔주었다.
의외로 가장 큰 복병은 아까 보기 싫다고 손 댔던 불투명도
였다.
이것 때문에 아무리 극단적인 색으로 색상을 편집해도?
결과물이 밍숭맹숭 했었다.
불투명도
를 100%
로 바꿔주니 이제야 확실히 색상 단계가 보인다.
이어서 문제 2
를 해결할 때 나는 엄청난 노가다를 했지만...
상당히 쉬운 필터링 방법을 발견했다.
일단 필터 필드에 Eng Nm
컬럼을 가져다두고,
드롭다운 > 필터 편집
에 들어간다.
나는 목록에서 선택
하려다가 눈알이 빠질 뻔 했는데
사용자 지정 값 목록
에 영문 동이름을 냅다 넣으면 되는 거였다.
^^;;;;
물론 영문 치환이 정확히 되었을 때만 정확하게 나온다는 단점은 있다.
그러면 내가 원하는 동만 색칠되어서 결과가 나온다.
표시되는 동 수가 적어졌기 때문에,
Eng Nm
컬럼을 레이블로 붙여도 비교적 깔끔하다.
커서를 특정 동 위에 올리면, count 값도 보여준다.
다른 지역이지만 동 이름이 완전히 동일한
신사동
, 갈현동
, 구산동
이 함께 지도에 표시된다는 점이다.
이건 shp
파일 자체에서 신사동(1)
신사동(2)
이런 식으로 구분되어있어야
지도 상에서 분리가 가능할 것 같은데,
그건 내 영역이 아닌 것 같아 흐린 눈 하고 있다.
이제 응급실 데이터를 원으로 표현하는 방법 알아봐야겠다...
태블로 강의 몇 번 들은 게 다인데,
역시 야생에 던져져야 빨리 성장하는 것 같다.
내가 이런 거까지 하고 있을 줄은 몰랐어.