Chris Choi's Blog

지도와 데이터의 손쉬운 결합, CartoDB

with one comment

제가 가장 좋아하는 스포츠는 단연 축구입니다. 축구 도시인 포항에서 자랐고, 초등학교 시절엔 주말이면 집 바로 부근에 있는 축구장에서 많은 시간을 보냈습니다. 이번 2014년 브라질 월드컵도 밤잠을 설쳐 가면서 재미있게 봤습니다.

이번 월드컵에서는 여러 IT 기술들이 선을 보였습니다. 경기장에서 인상 깊었던 것은 골 판독 시스템이었습니다. 경기장 밖에서 인상 깊었던 것은 경기 중 발생한 Tweet의 수를 시간 순에 따라 지도 상에 표시한 영상이었습니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 1

[Image 1. Colombia와 Uruguay의 16강전 중에 발생한 Tweet 출처: “How Colombia v Uruguay played out on Twitter”, CartoDB]

 

이 서비스에 사용된 것은 지역 정보가 포함되어 있는 Tweet Data와 Data를 지도 상에 표시해 주는 서비스인 CartoDB입니다. 오늘은 CartoDB에 대해 소개해 드리겠습니다.

 

CartoDB 사용하기

CartoDB는 2주 간 무료로 사용해 볼 수 있습니다. CartoDB에 회원 가입을 하면 바로 서비스를 사용해 볼 수 있습니다. 유료의 경우 생성 가능한 Table의 개수와 용량에 따라 $29에서 $599까지 가격은 다양합니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 2

[Image 2. CartoDB의 가격 정책 출처: “Pricing”, CartoDB]

 

Data Import and Table Creation

CartoDB에서 제공하는 Sample data를 이용해 Data Import와 Table Creation을 수행해 보겠습니다.[1] 상단의 ‘common data’ Menu를 선택하면 아래와 같은 Sample data를 지도에 나타낼 수 있습니다. 저는 New York의 지하철 정보를 담고 있는 ‘NYC Subways’를 선택해 봤습니다. 오른편의 +를 Click 합니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 3

[Image 3. CartoDB의 Sample data 출처: CartoDB]

 

아래와 같이 Table[2] 형태로 Sample data가 저장되었습니다. CartoDB는 Table 형태로 Data를 확인이 가능한 Table View와, 지도 형태로 Data를 확인할 수 있는 Map View를 제공합니다. 두번째로 위치한 ‘the_geom’이라는 Column 위에 ‘GEO’라는 표시가 붙어 있습니다. 지역 정보를 저장하는 Column이라는 의미입니다. 이 Column이 위도와 경도 정보를 갖고 있으며, 이 정보를 이용해 지도 상에 정보를 표시하게 됩니다. Excel에서 행과 열을 추가하거나 삭제할 수 있는 것처럼, Table View에서도 Data의 추가와 삭제, 수정이가능합니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 4

[Image 4. CartoDB의 Table View 출처: CartoDB]

 

이번엔 Map View로 보겠습니다. New York의 지하철 역들이 지도 상에 주황색 원으로 표시되고 있습니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 5

[Image 5. CartoDB의 Map View 출처: CartoDB]

 

Dashboard는 몇 개의 Table을 생성했는지, 몇 MB의 용량을 사용하고 있는지를 보여줍니다. 무료 사용자에게는 5개의 Table과 50MB가 제공됩니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 6

[Image 6. CartoDB의 Dashboard 출처: CartoDB]

 

Web site에서 Download 가능한 Data의 URL을 이용해서도 Table을 생성할 수 있습니다. Natural Earth에서 제공하는 지역 정보의 URL을 복사합니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 7

[Image 7. Data의 Link 주소 복사하기 출처: “Cultural Vectors”, Natural Earth]

 

Table 생성을 위한 Data Import 시 복사한 URL을 선택할 수 있습니다. URL 외에도 PC와 Google Drive, Dropbox에 저장되어 있는 CSV 등의 File도 사용할 수 있습니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 8

[Image 8. Link 주소로 Table 생성하기 출처: CartoDB]

 

Activity Tracker and CartoDB

저는 일상의 활동을 측정하기 위해 FitbitMoves를 사용하고 있습니다. Moves는 지역 정보가 포함된 사용자 Data를 제공해 줍니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 9

[Image 9. Moves는 지리 정보가 포함된 사용자 Data를 제공합니다. 출처: Moves]

 

현재까지 Moves를 사용하면서 이동한 장소들이 CSV Comma-Separated Values 상에 위도와 경도로 표시됩니다. 이 File을 CartoDB로 Import 하면 Table View와 Map View로 확인할 수 있습니다. Map View에서는 Basemap을 선택할 수 있는데, Google Map을선택해 봤습니다. 이번 주에는 회사 주위에서 많은 시간을 보냈네요.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 10

[Image 10. Moves의사용자 Data를 Google Map에 표시했습니다. 출처: CartoDB]

 

CartoDB는 ORDBMS Object-Relational Database Management System 의 일종인 PostgreSQL을 사용하고 있습니다.

 

Animated Map: London Tube

London 지하철 정보를 Download 해 CartoDB로 Import 합니다. Table View를 보면 지하철 역의 생성 일자가 ‘under’라는 Column으로 저장되어 있습니다. Map View에서 Map Wizard를 이용해 ‘Torque’를 선택합니다. 시간 순에 따라 Animation이 지도 상에 적용되는기능입니다. Column을 ‘under’로선택하고 ‘Cumulative’를 활성화 화면 아래와 같이 시간이 흐르면서 지하철 역이 하나씩 원으로 지도 상에 표시됩니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 11

[Image 11. London 지하철이 생겨난 순서대로 원으로 지도 상에 표시됩니다. 출처: CartoDB]

 

이렇게 생성한 지도는 Visualization 기능을 이용해 Facebook과 Twitter를 통해 공유할 수 있습니다.

 

Category: Crime Mapping

“Big Data로범죄따라잡기, Crime Mapping과 Palantir”라는 글에서 San Francisco는 범죄 정보를 공공 데이터로 제공하고 있다고 말씀 드렸습니다. 범죄 정보에는 지역 정보도 포함되어 있습니다. Data Import를 한 후, Map Wizard에서 Category를 선택해 보겠습니다. 범죄 정보가 절도, 폭력 등의 Category 별로 표시될 수 있기 때문입니다. Category 별로 각각 다른 색상의 원들이 지도 상에 표시됩니다.

 

지도와 데이터의 손쉬운 결합, CartoDB_Image 12

[Image 12. San Francisco의 범죄 현황이 Category 별로 표시됩니다. 출처: CartoDB]

 

References

 

[1] CartoDB의 Sample data를 이용한 예제는 CartoDB의 ‘The Map Academy’에수 록되어 있는 ‘Online Mapping for Beginners’를 참고했습니다.

[2] Excel의 Sheet나 Database의 Table과같이 행 Column과 열 Row로 구성된 Data의 집합을 Table이라 칭합니다.

Advertisements

Written by Chris Choi

July 20, 2014 at 8:13 pm

Posted in IT

Tagged with

One Response

Subscribe to comments with RSS.

  1. […] 지도와 데이터의 손쉬운 결합, CartoDB […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: