brunch

You can make anything
by writing

C.S.Lewis

by 마경근 Mar 23. 2020

공간 데이터_4

Part2. 공공데이터 시각화 및 탐색

공간 데이터는 어떻게 표현될까? 공간데이터의 시각화 방법과 도구를 알아본다  



1. 공간데이터의 시각화


1.1 위치 시각화

앞서 설명하였던(공간 데이터_1) 벡터 데이터의 포인트에 해당한다. 위도/경도나 X/Y 좌표값을 이용하여 위치를 표시하기 위하여 사용한다. 

데이터는 주로 CSV(comma separated values)나 엑셀의 파일 형태로 제공된다.

아래는 위도/경도 값을 이용하여 서울시에서 운영중인 약국의 위치를 표시한 데이터이다.  이 데이터를 이용하면 약국의 위치와 관련 정보를 지도 상에 표시할 수 있다.

아래 그림은 위도/경도 값을 이용하여 서울에서 운영중인 스타벅스와 이디야의 위치를 시각화한 결과로, 심볼맵(Symbol Map)이라고 한다.  붉은색 포인트가 스타벅스이고 노란색은 이디야이다. 포인트의 크기는 면적을 나타낸다. 스타벅스가 상대적으로 면적이 크면서 강남과 시내 중심에 위치하고 있는 반면에, 이디야는 규모가 작으면서 서울의  다양한 곳에 위치한다는 사실을 발견할 수 있다. 

서울의 스타벅스와 이디야의 분포(2018년 12월 기준)

아래의 그림은 서울에서 운영중인 어린이집의 위치를 히트맵(Heat Map)으로 시각화한 결과이다. 지도에 위치하여야 할 포인트의 수가 많을 경우, 히트맵을 이용하면 전반적인 패턴을 파악하기 유리한 장점이 있다. 어린이집은 시내 중심가와 강남 지역보다 외곽 지역에 많이 분포해 있음을 발견할 수 있다.

서울에서 운영중인 어린이집의 분포(2018년 12월 기준)


1.2 영역 시각화

영역은 벡터 데이터의 폴리곤에 해당한다. 영역을 나타내는 명칭이나 코드를 사용하거나 위도/경도 좌표값을 이용하기도 한다. 파일의 성격에 따라서 CSV나 엑셀은 물론 Shape 또는 geojson 형태로도 제공된다.

아래는 행정동 또는 집계구 단위 영역의 생활인구를 나타낸 데이터이다(행정동과 집계구에 대해서는 공간데이터_2 참조). 

코드번호 1101072010001 집계구 영역에 생활인구 수가 587명인 것을 알 수 있다.  

아래의 그림은 서울시에서 1인 세대가 많은 행정동을 시각화한 결과로, 영역경계맵(Choropleth Map)이라고 한다. 서울시 행정동별로 영역을 구분하고 영역별로 색의 농도를 달리하면서 값을 표시하였다. 시각화 결과, 서울에서 1인 세대가 가장 많은 행정동은 강남구 역삼1동이다.

서울시의 행정동별 1인세대 수 시각화 결과


아래의 그림은 제19대 대선 시군구별 최다 득표자를 영역별로 시각화한 카토그램(Cartogram)이다. 카토그램은 각 지역의 면적을 인구 수 등에 비례하도록 변형하되, 상대적인 위치 관계는 유지하는 시각화 기법이다. 오른쪽 그림에서 서울과 경기도의 면적이 실제보다 과장되어 있지만, 실제 인구 수를 고려하면 오히려 투표 결과를 잘 설명한다. 

카토그램으로 시각화한 제19대 대선 시군구별 득표자 현황


1.3 OD표 시각화

OD는 출발지(Origin)과 도착지(Destination)을 나타낸다. 아래의 예시는 서울의 공공자전거(따릉이)의 대여 위치와 출발 위치를 나타낸다. 2019년5월1일12시15분에 '구의삼성쉐르빌앞' 대여소에서 대여한 따릉이는 같은 날 12시21분에 '자양사거리 광진아크로텔앞' 대여소에 반납되었음을 알 수 있다.

아래의 그림은 플로우 맵(Flow Map)으로, 서울시립대학교에서 대여한 따릉이의 반납 장소까지의 OD를 시각화하였다. 테이블 형태의 데이터에서는 파악하기 어려운 사실을 직관적으로 이해할 수 있다.  

플로우맵으로 시각화한 따릉이 이동 경로


아래의 그림은 플로우맵에서 사용하였던 따릉이 데이터를  다른 형태로 시각화한 키 차트(Sankey Chart)이다. 생키차트는 OD를 단순화하여, 출발지와 도착지의 관계와 값(수량)을 표현하는데 적합한 시각화 결과물이다.

생키 차트를 이용한 따릉이 디동 경로




2. 공간데이터 활용 도구


2.1 QGIS(https://qgis.org/ko/site/)

QGIS(과거 이름: Quantum GIS)는 데이터 뷰, 편집, 분석을 제공하는 크로스 플랫폼 자유-오픈 소스 데스크톱 지리 정보 체계(GIS) 응용 프로그램이다(위키백과). 

업계 표준의 자리를 지키고 있는 ArcGIS가 비교적 고가의 상용 소프트웨어인 반면에, QGIS는 누구나 무료로 이용할 수 있기 때문에 활용도가 높다.

Shape 포맷은 물론 geojson, csv 등 다양한 공간 데이터 파일을 수용하며 공간 연산. 데이터 병합, 좌표계 변환, 시각화 등 다양한 공간 활용이 가능하다. 공간 데이터를 활용하고자 한다면 꼭 사용해 보기를 추천한다.

QGIS로 서울시 어린이집 위치와 행정동 영역 데이터를 병합 


2.2 파이썬(https://www.python.org/)

파이썬을 이용하면 대용량의 공간 데이터를 처리할 수 있다. 전체 데이터에서 특정 영역을 추출하거나 데이터를 병합하기 위해서도 사용한다. GeoPandas와 같은 라이브러리와 함께 사용하면, 공간 데이터의 기하하적 연산과 시각화도 가능하다.

아래의 그림은 파이썬에서 Folium 라이브러리를 이용하여 자치구별 따릉이 대여소 갯수를 시각화 한 결과이다.

서울시의 자치구별 따릉이 대여소 갯수 


2.3 mapshpere(https://mapshaper.org/)

mapshpere를 이용하면 별도의 프로그램 설치 과정 없이 온라인상에서 공간 데이터 포맷(Shape, geojson, topojson 등)을 변경하거나 파일 사이즈를 조정할 수 있다. 기능이 단순한 만큼 쉽고 빠르게 원하는 결과를 얻을 수 있다.

아래는 PowerBI에서 지원하는 topojson 포맷으로 변경하기 위하여 mapsphere를 활용한 사례이다.


2.4 Kepler.gl(https://kepler.gl/)

Uber에서 Mapbox와 제휴하여 서비스하고 있는 Kepler는 공간 분석 및 시각화를 할 수 있는 도구이다. deck.gl을 기반으로 만든 웹서비스로서 회원 가입 필요없이 CSV 파일만 Drag & Drop하면 바로 다양한 분석과 시각화를 할 수 있다. 시각화 결과는 Dropbox 등을 통하여 공유할 수 있다.

아래의 그림은 2019년 5월1일 새벽시간 대의 따릉이 이동을 시각화한 결과이다. 링크를 클릭하면 시간대별 따릉이의 운행 건수와 OD 전체를 확인할 수 있다. 

따릉이 대여 및 반납 경로



2.5 flowmap(https://flowmap.blue/)

flowmap은 구글 스프레드시트를 이용하여 OD 데이터를 시각화할 수 있는 도구이다.

스프레드 시트 형식의 OD 데이터를 구글 드라브에서 공유하고, 사이트에서 등록하면 시각화 결과를 렌더링할 수 있는 URL이 생성된다. 

아래의 그림은 서울 시민의 평일 오전중 이동하는 패턴을 시각화한 결과이다. 중구 명동과  강남구 역삼동쪽으로 많이 이동하는 모습을 발견할 수 있다. 상세 보기 링크

서울시민의 행정동간 이동 패턴



2.6 PowerBI(https://powerbi.microsoft.com/ko-kr/)

PowerBI는 다양한 데이터의 연관 관계로부터 시각화 결과물을 만들어 낼 수 있는  BI(Business Intelligence) 솔루션이다. 마이크로소프트사에서 무료로 제공하고 있으며, 유사한 BI 솔루션으로 타블로, 클릭 등이 있다. 

아래의 그림은 서울시에서 생활하는 인구와 카페의 갯수를 연관 분석하기 위하여 제작한 시각화 결과물중 일부이다.

PowerBI로 서울시의 생활인구와 카페의 갯수 연관성 분석


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari